結構體:至關因而咱們本身定義的一種複雜的類型。
int... double float bool char string DateTime 數組類型
生活中大部份的對象都是複合型的對象。數組
如何定義結構體類型?
通常來講結構體的定義要放在class的外面或class的裏面,儘可能不放在Main的裏面。
struct 自定義類型名
{
public 變量類型 變量名;
......;
......;
......;spa
}
例如:
struct YuanGong //自定義的數據類型。用來描述員工的信息。
{
public string NO;
public string Name;
public int Age;
public string Nation;
public bool Sex;
}code
如何用自定義的類型來定義變量?
自定義類型名 變量 = 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?"男":"女"));blog
練習:排序
1.ci
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 Program 18 { 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.string
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 Class1 19 { 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 }