1、概念:
結構體是寫在main函數外的數據結構,由不同類型的數據組合成一個整體,這些組合在一個整體中的數據是互相聯系的
2、聲明方式:
struct 結構體名
{
成員變量(由類型名+成員名組成)
}
例:
public struct student//public是修飾符,可以不加,作用范圍為整個命名空間{public int Code;//定義變量,每一個變量叫做結構體的屬性public string Name;public string Sex;public int Age;public decimal Height;}3、調用方法:
(1)初始化結構體(new一個)
(2)給結構體中的變量賦值
如:
//繼續使用上面結構體的定義student ss = new student();ss.Code = 101;ss.Name = "zhangsan";ss.Sex = "nan";ss.Height =173;
4、用結構體對代碼進行優化處理
----冒泡排序----
題目:輸入學生個數,挨個輸入姓名、身高、年齡,求平均年齡,然后按身高升序排出
思路:建立一個含有姓名、身高、年齡參數的結構體,再建立一個集合,通過for循環將每次初始化后的結構體類型帶著三種數據放入集合中。
答案:
Console.WriteLine("輸入學生個數:");int n = int.Parse(Console.ReadLine());ArrayList ar = new ArrayList();//建立集合填充數據int sum =0;for (int i = 0; i < n; i++){    student ss = new student();    Console.Write("請輸入姓名:");    ss.Name =Console.ReadLine();    Console.Write("請輸入年齡:");    ss.Age = int.Parse(Console.ReadLine());    Console.Write("請輸入身高:");    ss.Height = int.Parse(Console.ReadLine().Trim());    ar.Add(ss);//在集合中增加一個student類型的數據    sum = sum+ss.Age;//算總分}for (int i = 0; i < n; i++){    for (int j = i; j < n; j++)    {        //建立中間值,將ar[i]、ar[j]強制轉化為student的類型,然后判斷身高        student s1 = (student)ar[i];        student s2 = (student)ar[j];        if(s1.Height<s2.Height)        {            ar[i] = s2;            ar[j] = s1;        }    }}foreach (student a in ar){    Console.Write("姓名:" + a.Name);    Console.Write("身高:" + a.Height);    Console.Write("年齡:" + a.Age);    Console.Write("/n");}新聞熱點
疑難解答