結構 枚舉 數組
struct 類型是一種值類型,通常用來封裝小型相關變量組。
結構具有以下特點:
結構是值類型,而類是引用類型。與類不同,結構的實例化可以不使用 new 運算符。結構可以聲明構造函數,但它們必須帶參數。一個結構不能從另一個結構或類繼承,而且不能作爲一個類的基類。所有結構都直接繼承自System.ValueType,後者繼承自 System.Object。
結構可以實現接口。結構可用作可爲 null 的類型,因而可向其賦 null值。
方法:普通方法實例化後調用 靜態方法用結構名調用
枚舉
enum 關鍵字用於聲明枚舉 部分代碼如下:
enum Jijie//枚舉與類是同等級的 定義在類外或者定義在類的內部也行
{
春,
夏,
秋,
冬
}
[Flags]
enum Week //加上[Flags]標記 成員可以進行與運算 不加就不能進行與運算
{
週一 = 1,
週二 = 2,
週三 = 4,
週四 = 8,
週五 = 16,
週六 = 32,
週日 =64
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("加了[Flags]的 ");
Console.WriteLine((Week) int.Parse(Console.ReadLine()));//通過數字選擇定義的某一成員
Console.WriteLine((Week)5);//週一 週三 通過與運算獲取成員
Week w = Week.週二|Week.週日;//加上[Flags]標記 成員可以進行與運算 不加就不能進行與運算
Console.WriteLine(w);
Console.WriteLine("完成 ");
Jijie m = Jijie.春 | Jijie.秋;//加上[Flags]標記 成員可以進行與運算 不加就不能進行與運算 秋
Console.WriteLine(m);
Console.WriteLine((Jijie)int.Parse(Console.ReadLine()));//通過數字選擇定義的某一成員
Console.WriteLine((Jijie)3);//冬 通過與運算獲取成員
Console.WriteLine();
}
}
}
******************************************************************************************
//一維數組
//int[] A = new int[] { 1, 2, 1, };//實例化new 初始化 數據
//int[] A = { 1, 2, 1, };
//int[] A = new int[3];
//for (int i = 0; i < A.Length; i++)
//{
// A[i] = i * 3;//數組遍歷存 進值
//}
//for (int i = 0; i < A.Length; i++)//A.GetLength(0) 第一種輸出數組的方法
//{
// Console.Write(A[i]);//取值
//}
//Console.WriteLine();
//foreach (int i in A)//第二種輸出數值元素的方法 i代表數組中的元素
//{
// Console.Write(i);
//}
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
////二維數組
//int[,] B = new int[3, 3]; //初始化
//for (int i = 0; i < B.GetLength(0); i++) //行
//{
// for (int j = 0; j < B.GetLength(1); j++) //列
// {
// B[i,j]=i+j; //賦值
// Console.Write(B[i, j] + ","); //取值
// }
// Console.WriteLine(); //換行
//}
//########################################################
////交錯數組
//int[][] jcArr = new int[3][]; //第一個必須有 第二個不能有
//jcArr[0] = new int[] { 1, 2, 2 };
//jcArr[1] = new int[] { 1, 2 };
//jcArr[2] = new int[] { 1, 2, 3, 3, 34, 4 };
//for (int i = 0; i < jcArr.GetLength(0); i++)
//{
// for (int j = 0; j < jcArr[i].Length; j++)
// {
// Console.Write(jcArr[i][j]);
// }
// Console.WriteLine();
//}
//foreach (int[] i in jcArr)
//{
// foreach (int j in i)
// {
// Console.Write(j);
// }
// Console.WriteLine();
//}
////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&數組函數
Array a = Array.CreateInstance(typeof(string), 5);//類型 長度
a.SetValue("1111111111", 0);//賦值
Console.WriteLine(a.GetValue(0));//取值
////^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//冒泡排序函數
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 3 };
Array.Sort(arr);//升序
foreach (int i in arr)
{
Console.WriteLine(i);
}
Array.Reverse(arr);//降序
foreach (int i in arr)
{
Console.WriteLine(i);
}
////^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^