C#結構體

來源:互聯網
上載者:User

標籤:

結構體:相當於是我們自己定義的一種複雜的類型。
int... double float bool char string DateTime 數群組類型
生活中大部份的對象都是複合型的對象。

如何定義結構體類型?
一般來說結構體的定義要放在class的外面或class的裡面,盡量不放在Main的裡面。
struct 自訂類型名
{
public 變數類型 變數名;
......;
......;
......;

}
例如:
struct YuanGong //自訂的資料類型。用來描述員工的資訊。
{
public string NO;
public string Name;
public int Age;
public string Nation;
public bool Sex;
}

如何用自訂的類型來定義變數?
自訂類型名 變數 = new 自訂類型名();

如何使用自訂類型的變數?
變數.子變數 = "xxxx";
Console.WriteLine(變數名.子變數);
例如:
//定義自訂類型的變數
YuanGong zhangsan = new YuanGong();
//給變數賦值
zhangsan.NO = "Y001";
zhangsan.Name = "張三";
zhangsan.Age = 22;
zhangsan.Sex = true;
zhangsan.Nation = "漢族";
//對變數取值
Console.WriteLine(zhangsan.NO+"\t"+zhangsan.Name+"\t"+zhangsan.Age);
Console.WriteLine(zhangsan.Nation+"\t"+(zhangsan.Sex?"男":"女"));

練習:

1.

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace ConsoleApplication1 7 { 8     struct YuanGong  //自訂資料類型,用來描述員工的資訊。 9     {10         public string NO;11         public string Name;12         public int Age;13         public string Nation;14         public bool sex;15     }16 17     class Program18     {19         static void Main(string[] args)20         {21             //定義自訂類型的變數22             YuanGong zhangsan = new YuanGong();23             //給變數賦值24             zhangsan.NO = "Y001";25             zhangsan.Name = "張三";26             zhangsan.Age = 22;27             zhangsan.sex = true;28             zhangsan.Nation = "漢族";29 30             YuanGong lisi = new YuanGong();31             lisi.NO = "Y002";32             lisi.Name = "李四";33             lisi.Age = 25;34             lisi.sex = false;35             lisi.Nation = "回族";36 37             //給變數取值38             Console.WriteLine("********張三的個人資訊********");39             Console.WriteLine(zhangsan.NO+"\t"+zhangsan.Name+"\t"+zhangsan.Nation);40             Console.WriteLine(zhangsan.Age+"\t"+(zhangsan.sex?"男":"女"));41         }42     }43 }

 

2.

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace ConsoleApplication1 7 { 8     struct XueSheng 9     {10         public int xuehao;11         public string xingming;12         public double yuwen;13         public double shuxue;14         public double waiyu;15         public double zongfen;16         public int mingci;17     }18     class Class119     {20 21         static void Main(string[] args)22         {23             XueSheng[] a = new XueSheng[5];24             //輸入25             for (int i = 0; i < a.Length;i++ )26             {27                 Console.WriteLine("正在輸入第"+(i+1)+"個學生的資訊");28                 a[i].xuehao = i + 1;29                 Console.Write("姓名:");30                 a[i].xingming = Console.ReadLine();31                 Console.Write("語文:");32                 a[i].yuwen = Convert.ToDouble(Console.ReadLine());33                 Console.Write("數文:");34                 a[i].shuxue = Convert.ToDouble(Console.ReadLine());35                 Console.Write("外語:");36                 a[i].waiyu = Convert.ToDouble(Console.ReadLine());37                 38                 a[i].zongfen = a[i].yuwen + a[i].shuxue + a[i].waiyu;39                 Console.WriteLine("總分:"+a[i].zongfen);40             }41             //排序42             for (int i = 1; i <= a.Length - 1;i++ )43             {44                 for (int j = 1; j <= a.Length - i; j++)45                 {46                     if (a[j].zongfen > a[j - 1].zongfen)47                     {48                         XueSheng temp = a[j];49                         a[j] = a[j - 1];50                         a[j - 1] = temp;51                     }52                 }53             }54             //寫名次55             for(int i=0;i<a.Length;i++)56             {57                 a[i].mingci = i + 1;58             }59             //輸出60             for (int i = 0; i < a.Length; i++)61             {62                 Console.WriteLine(a[i].xuehao+"\t"+a[i].xingming+"\t"+a[i].yuwen+"\t"+a[i].shuxue+"\t"+a[i].waiyu+"\t"+a[i].zongfen+"\t"+a[i].mingci);63             }64         }65 66     }67 }

 

C#結構體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.