本文へスキップ
BecomeCoder

C#文法コース · 第8章 標準ライブラリの必需品 · レッスン58

定番ユーティリティ(Math / Random / Guid / Convert)

ブラウザで完結

導入

自分で書くまでもない「よくある処理」は、標準ライブラリが用意しています。数学計算のMath、乱数のRandom、一意なIDのGuid、型変換のConvert——知っていれば車輪の再発明を避けられる定番を押さえます。

図解

flowchart TB
    M["Math<br/>Max/Min/Abs/Round/Pow/Sqrt"]
    R["Random<br/>乱数(サイコロ・シャッフル)"]
    G["Guid<br/>世界で重複しない識別子"]
    C["Convert<br/>型変換のユーティリティ"]

サンプル

// Math: 数学計算
Console.WriteLine(Math.Max(3, 7));          // 7
Console.WriteLine(Math.Abs(-5));            // 5
Console.WriteLine(Math.Round(3.14159, 2));  // 3.14(小数2桁に丸め)
Console.WriteLine(Math.Pow(2, 10));         // 1024
Console.WriteLine(Math.Sqrt(81));           // 9

// Random: 乱数(シードを固定すると毎回同じ結果=テストで便利)
var rng = new Random(42);
Console.WriteLine(rng.Next(1, 7));          // 1〜6 のサイコロ(seed固定で再現可能)

// Guid: 世界で重複しない識別子(実行ごとに変わる)
Guid id = Guid.NewGuid();
Console.WriteLine(id.ToString().Length);    // 36(ハイフン込みの長さ)

// Convert: 型変換のユーティリティ
Console.WriteLine(Convert.ToInt32("100") + 1);   // 101
  • MathMax/Min/Abs/Round/Pow/Sqrtなど数値計算の定番
  • Randomは乱数。new Random(シード)にすると結果が再現できる(Next(a, b)は a以上 b未満)
  • Guid.NewGuid()は重複しないID。DBの主キーやファイル名に使う
  • ConvertToInt32/ToDoubleなど、型変換のユーティリティ

演習

// TODO: 3.14159 を小数点以下2桁に丸めて出力してください(3.14)
___
  • 期待される出力: 3.14
ヒント1を見る

Math.Round(値, 桁数)を使います

ヒント2を見る

Console.WriteLine(Math.Round(3.14159, 2));

まとめ

  • Math(数学)・Random(乱数)・Guid(一意ID)・Convert(型変換)は再発明しない
  • Randomはシード固定で再現可能、Next(a, b)は a以上 b未満
  • 「これ標準にありそう」と思ったらまず探す習慣を

次回: 文字コードとBase64です。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

C# — ブラウザ内で実行

ブラウザ内でC#を動かす環境を読み込みます(初回のみ数秒)。
スクロールして表示された時点でも自動で読み込まれます。