演習 - 整数型について理解する
この演習では、整数型を扱います。 整数型は、小数部のない整数を表す単純な値の型です (-1
、0
、1
、2
、3
など)。 このカテゴリで最もよく使われるのは、int
データ型です。
整数型には、符号付きおよび符号なし整数型という 2 つのサブカテゴリがあります。
符号付き型 では、そのバイトを使用して同数の正と負の数値を表します。 以下の演習では、C# の符号付き整数型に触れる機会を提供します。
コーディング環境を準備する
このモジュールには、デモ コードをビルドして実行するプロセスをガイドする実践的なアクティビティが含まれています。 これらのアクティビティを完了するために、開発環境として Visual Studio Code を使用することをお勧めします。 これらのアクティビティに Visual Studio Code を使用すると、世界中のプロフェッショナルが使用する開発環境でコードの記述と実行をより快適に行うことができます。
Note
この C# シリーズの Microsoft Learn を完了している場合は、コード サンプル用のプロジェクト フォルダーが既に作成されている場合があります。 その場合は、手順の次のセクションをスキップし、前の演習で使用した Project.cs
ファイル内のコードを削除できます。
Visual Studio Code を開きます。
Visual Studio Code は、Windows の [スタート] メニュー (別の OS の場合は同等のリソース) を使用して開くことができます。
Visual Studio Code の [ファイル] メニューで、[フォルダーを開く] を選択します。
[フォルダーを開く] ダイアログで、Windows の [デスクトップ] フォルダーに移動します。
コード プロジェクトを保持するフォルダーの場所が異なる場合は、代わりにそのフォルダーの場所を使用できます。 このトレーニングでは、見つけやすく覚えやすい場所を用意することが重要です。
[フォルダーを開く] ダイアログで、[フォルダーの選択] を選択します。
作成者を信頼するかどうかを確認するセキュリティ ダイアログが表示された場合は、[はい] を選択します。
Visual Studio Code の [ターミナル] メニューで、[新しいターミナル] を選択します。
[ターミナル] パネルのコマンド プロンプトに、現在のフォルダーのフォルダー パスが表示されることを確認します。 次に例を示します。
C:\Users\someuser\Desktop>
ターミナルのコマンド プロンプトで、指定したフォルダーに新しいコンソール アプリケーションを作成するには、「dotnet new console -o ./CsharpProjects/TestProject」と入力してから、Enter キーを押します。
この .NET CLI コマンドでは、.NET プログラム テンプレートを使用して、指定したフォルダーの場所に新しい C# コンソール アプリケーション プロジェクトを作成します。 このコマンドで [CsharpProjects] と [TestProject] のフォルダーが自動的に作成され、
.csproj
ファイルの名前として TestProject が使用されます。[エクスプローラー] パネルで、[CsharpProjects] フォルダーを展開します。
[TestProject] フォルダーと、Program.cs という名前の C# プログラム ファイルと、TestProject.csproj という名前の C# プロジェクト ファイルの 2 つが表示されるはずです。
[エクスプローラー] パネルの [エディター] パネルにコード ファイルを表示するには、[Program.cs] を選択します。
既存のコード行を削除します。
この C# コンソール プロジェクトを使用して、このモジュール中のコード サンプルの作成、ビルド、実行を行います。
[ターミナル] パネルを閉じます。
各符号付き整数型に対して MinValue プロパティと MaxValue プロパティを使用する
Visual Studio Code が開いていて、[エディター] パネルに Program.cs が表示されていることを確認します。
Program.cs は空になっているはずです。 そうでない場合は、すべてのコード行を選択して削除します。
各種データ型の値の範囲を表示するには、Visual Studio Code エディターに次のコードを入力します。
Console.WriteLine("Signed integral types:"); Console.WriteLine($"sbyte : {sbyte.MinValue} to {sbyte.MaxValue}"); Console.WriteLine($"short : {short.MinValue} to {short.MaxValue}"); Console.WriteLine($"int : {int.MinValue} to {int.MaxValue}"); Console.WriteLine($"long : {long.MinValue} to {long.MaxValue}");
Visual Studio Code の [ファイル] メニューで、[保存] を選択します。
コードをビルドまたは実行する前に、Program.cs ファイルを保存する必要があります。
[エクスプローラー] パネルで、TestProject フォルダーの場所にあるターミナルを開くには、TestProject を右クリックし、[統合ターミナルで開く] を選択します。
ターミナル パネルが開き、ターミナルが TestProject フォルダーの場所に対して開かれていることを示すコマンド プロンプトが含まれているはずです。
コードを実行するには、ターミナルのコマンド プロンプトで、「dotnet run」と入力し、Enter キーを押します。
"実行するプロジェクトが見つかりませんでした" というメッセージが表示された場合は、ターミナルのコマンド プロンプトに、予期されている TestProject フォルダーの場所が表示されていることを確かめます。 例:
C:\Users\someuser\Desktop\csharpprojects\TestProject>
次の出力が表示されます。
Signed integral types: sbyte : -128 to 127 short : -32768 to 32767 int : -2147483648 to 2147483647 long : -9223372036854775808 to 9223372036854775807
ほとんどの科学系ではないアプリケーションでは、int
を扱うだけで済む可能性が高いです。 ほとんどの場合、- 21 億 4,000 万から + 21 億 4,000 万の範囲を超える整数が必要になることはありません。
符号なし整数型
符号なし整数型 では、そのバイトを使用して正数のみを表します。 この演習の残りの部分では、C# の符号なし整数型について紹介します。
各符号なし整数型に対して MinValue プロパティと MaxValue プロパティを使用する
前のコード節の下に、次のコードを追加します。
Console.WriteLine(""); Console.WriteLine("Unsigned integral types:"); Console.WriteLine($"byte : {byte.MinValue} to {byte.MaxValue}"); Console.WriteLine($"ushort : {ushort.MinValue} to {ushort.MaxValue}"); Console.WriteLine($"uint : {uint.MinValue} to {uint.MaxValue}"); Console.WriteLine($"ulong : {ulong.MinValue} to {ulong.MaxValue}");
コード ファイルを保存してから、Visual Studio Code を使ってコードを実行します。
次の出力が表示されます。
```Output
Signed integral types:
sbyte : -128 to 127
short : -32768 to 32767
int : -2147483648 to 2147483647
long : -9223372036854775808 to 9223372036854775807
Unsigned integral types:
byte : 0 to 255
ushort : 0 to 65535
uint : 0 to 4294967295
ulong : 0 to 18446744073709551615
```
特定のデータ型を多くのケースに使用できますが、byte
データ型で 0 から 255 の値を表せることを考えると、これがデータの "バイト" を表す値を保持するためのものであることは明らかです。 インターネット経由で転送されるファイルまたはデータに格納されるデータは、多くの場合、バイナリ形式です。 これらの外部ソースからのデータを扱う場合は、データをバイト配列として受け取り、それらを文字列に変換する必要があります。 データのエンコードとデコードを処理する .NET クラス ライブラリのメソッドの多くでは、バイト配列を扱う必要があります。
まとめ
- 整数型は、整数を保持できる単純な値データ型です。
- 符号付きおよび符号なしの数値データ型があります。 符号付き整数型では、1 ビットを使って、値が正か負かを格納します。
- 数値データ型の
MaxValue
およびMinValue
プロパティを使用して、数値が特定のデータ型に適合できるかどうかを評価できます。