ホームページ >バックエンド開発 >C#.Net チュートリアル >C#学習日記11---列挙(enum)型のデータ型
先ほど紹介したのはすべて値型です。 ここまで書いたので、以下にどのような値型があるのかをまとめます。簡単に言うと、このタイプの変数は、含まれている値を直接格納します。ここでは、C 言語の文字列 char ch[6] = "HC666"; と比較してみます。先生は、実際には ch は "HC666" のアドレスを参照するために使用され、アクセス アドレスを通じてデータにアクセスすると言いました。同じことが文字列にも当てはまります。そのため、C# の文字列 String は値型ではなく参照型です。 。 struct 型の場合はそうではなく、直接代入によって変数の格納内容を変更するため、値型となります。
列挙型 (enum) 型の値の型:
列挙型 (enum): 実際には、論理的に分離できない整数値のセットに対して覚えやすい記号を提供します。たとえば、今日は日曜日で、映画を見るために映画のチケットを購入しました。座席番号は 66 番でした。番号に従って座席を見つけました。2 列目と 5 列目でした。 , ということで楽しく映画を見終えました。実際、私がいる試写室の 66 という数字は 2 行 5 列に反映されています。これを列挙と呼びます。
enum 型変数を宣言します:
enum 变量名 { 标识符列表 } ;
注:
識別子リストでは、要素はカンマで区切られます。
列挙リスト内の各シンボルは、前のシンボルよりも大きい整数値を表します。デフォルトでは、最初の列挙記号は 0 を表します。もちろん、変更することもできます:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Program { //定义 enum 类型 以0开始递增 enum weekday { Sun, Mon, tue, Wed, thu, Fri, Sat //若要改变默认值只需 (Sun = 2, Mon, tue, Wed, thu, Fri, Sat)以2开始递增+1 }; static void Main(string[] args) { weekday wek; Console.WriteLine("输入0~6一个数字: "); int i = int.Parse(Console.ReadLine()); wek = (weekday)i; //强制类型转换,将int类型转化为 weekday 类型 Console.WriteLine("{0} 是 {1}", i, wek); } } }
私は 0 を入力します:
コードに現れる強制的な型変換については、後ほど詳しく書きます。 Implicit Conversion と Explicit Conversion で説明するため、ここでは紹介しません。
構造体 (struct) 型と列挙型 (enum) 型の比較:
Struct 型と enum 型についていつも混乱しているクラスメートがいます。時々、彼は次のようなエラー コードを書きます:
enum wek { int a,b,c; string d,e,f; }
上記の間違いを避けるために、それらの違いについて話しましょう: 構造体の型について話すとき、その中のデータ型は複数の異なる型である可能性があることはすでに述べました。 , Struct型は、異なる型のデータで構成される新しい型であり、構造体型変数の値は各メンバーの値で構成されます。例:
Struct wek { public int a = 1; public int b = 2; }
変数 wek w を定義します。このとき、w は a の値が 1 (w.a) であることを表すことができますし、b の値が 2 (w.b) であることを表すこともできます
また、列挙 (enum) 型は異なります。列挙型変数は、特定の時点での列挙リスト内の特定の要素の値のみを取ることができます。たとえば、以前に作成した enum 曜日プログラムでは、wek はその時点で 1 つの値しか表すことができません。特定の時刻であり、同時にはできません。これは、日と月の両方を意味します。
wek = (平日) 2; 現時点では、wek は火のみを意味し、他のものは意味しません。
上記はC#学習日記11---データ型の列挙型(enum)の内容です。その他の関連内容については、PHP中国語Webサイト(www.php.cn)に注目してください。