C#ファウンデーション⑥.1-列挙、構造

                   

 

1つ、列挙

列挙とは何ですか?

列挙は、名前付き整数定数のセットです。列挙型は、enum  キーワードを使用して  宣言されます。つまり、値の固定範囲。

C#列挙は値の型です。列挙には独自の値が含まれており、継承したり受け渡したりすることはできません

 

列挙型を使用する利点は何ですか?

メモリ容量を節約たとえば、データテーブルにいくつかの情報を格納する必要があります。1はリンゴを表し、2は桃を表し、3はスイカを表します。リンゴの3つの単語はすべて文字列型です。1これら3つのアラビア数字はすべて文字型、文字型です。文字列型よりもスペースを節約します。

使いやすいあなたが望む誰でも注文することができます。

③より標準化された

強力な型変換を行い、さまざまな形式で出力することができます(各記号は、デフォルトで0から順番に並べられた整数値を表します)。

 

列挙を宣言する方法は?

文法:

[public] enum <枚举类型名>

{

      値1、

      値2

};

 

列挙値間の型変換:

public enum Gender                                                //声明枚举类型  public访问修饰符,有一些固定的范围的值
{
    男,
    女
}
class Program
{
   static void Main(string[] args)
    {
       Gender gender = Gender.女;    

       int gender = (int)Gender.女;                                 //enum——>int

       Gender gender = (Gender )1;                                  //int——>enum

       string num = gender.ToString();                              //string——>enum

       Gender gender = (Gender)Enum.Parse(typeof(Gender), "女");    //enum——>string

       Console.WriteLine(num);         //显示枚举值
       Console.ReadKey();
    }
}

 


 

第二に、構造

構造は何ですか?

これにより、単一の変数にさまざまなデータ型の関連データを格納できます。作成する構造キーワード

 

構造(メリット)を使用する理由

異なるタイプの複数の変数を一度に宣言しますたとえば、人が名前、年齢、性別などの変数を必要とする場合、3回宣言する必要があります。何千人もいる場合、何千もの異なる変数を宣言する必要がありますか?この変数は冗長ではありませんか?構造体はこの状況を減らし、構造体を宣言します。構造体はさまざまなデータ型の変数を持つことができます

 

注:構造体は値タイプであり、構造体メンバーは抽象、仮想、保護として指定できず、構造体は継承をサポートしていません

     構造体のフィールドに初期値を割り当てることはできません。構造体はスタックに保存されます

 

宣言文

[公開]構造体名

{

構造メンバー

}

public enum Gender                        //声明枚举
{
    男,                                    //值
    女
}
public struct Person                       //声明结构体
{
   public string _name;                    //字段,姓名  ,结构体成员
   public Gender _gender;                  //性别
   public int _age;                        //年龄
}
static  void Main(string[] args)
 {  
     Person XDperson;                       //声明XDperson,类型为Person
     XDperson._name = "小邓";
     XDperson._age = 18;
     XDperson._gender = Gender.男;

     Person XJperson;                       //声明XDperson,类型为Person
     XJperson._name = "小姜";
     XJperson._age = 18;
     XJperson._gender = Gender.女;

     Console.WriteLine(XDperson._name);      //打印XDperson的信息
     Console.WriteLine(XDperson._age   );
     Console.WriteLine(XDperson._gender);

     Console.WriteLine();                    //打印一行空行

     Console.WriteLine(XJperson._name);      //打印XDperson的信息
     Console.WriteLine(XJperson._age);
     Console.WriteLine(XJperson._gender);
     Console.ReadKey();
 }

 

おすすめ

転載: blog.csdn.net/weixin_43319713/article/details/108401960