C#基礎(chǔ)知識學(xué)習(xí)筆記
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
3-常量聲明:const關(guān)鍵字 const PI=3.14; //使用const聲明常量后不能在程序中再對值進(jìn)行修改 int a=1,b=2,c=3;Console.WriteLine("a={0},b={1},c={2}",a,b,c) 5-算數(shù)運(yùn)算符 取整(/):小除大為0,大除小取整數(shù)值-->字符串:.ToString() int a = 100; string b=a.ToString(); Console.WriteLine(b); 字符串-->值:.Parse string a = "200"; int b=int.Parse(a); Console.WriteLine(b); int [] arr={1,2,3,4};
//輸入數(shù)組長度,并為每個索引賦值,賦值完成后輸出每個索引的值 Console.WriteLine("請輸入數(shù)組的長度:"); int length=int.Parse(Console.ReadLine()); int[] arr3 = new int[length]; //定義數(shù)組 for (int j = 0; j < arr3.Length; j++){ Console.WriteLine("請輸入第{0}個數(shù)值",j+1); arr3[j]=int.Parse(Console.ReadLine()); //為每個位置賦值 } Console.WriteLine("打印數(shù)組內(nèi)容為:"); for (int j = 0; j < length; j++){ Console.WriteLine("第{0}個的值為:", arr3[j]); Console.WriteLine(arr3[j]); //輸出 } //二維數(shù)組的遍歷int[,] arr=new int[2,3]{ {1,2},{2,3},{3,4} }; for(i=0;i<arr.GetLength(0);i++)//循環(huán)行。GetLength(0)獲取行數(shù) { for(j=0;j<arr.GetLength(1);j++)//循環(huán)列。GetLength(1)獲取列數(shù) { Console.Write(arr[i,j]); } } 修飾符:static靜態(tài)的,private私有的,public公有的 static void HelloWorld() { Console.WriteLine("hello world"); } static void Sum(int a,int b) { int Sum=a+b; Console.WriteLine(Sum); } static int Sum2(int a,int b) //int為返回值類型 { int Sum2=a+b; Console.WriteLine(Sum2); return Sum2; //使用return返回結(jié)果 } Motor mortor=new Mortor(); //實(shí)例化枚舉 motor=Motor.啟動; Console.WriteLine(motor); //以內(nèi)容的形式顯示 Console.WriteLine((int)motor); //以數(shù)值的形式顯示 struct Motor { public string Start; public string Stop; } Morot motor=new Motor(); //實(shí)例化結(jié)構(gòu)體 motor.Start="電機(jī)啟動"; motor.Stop="電機(jī)停止"; Console.WriteLine("motor.Start"); //與西門子的博圖軟件中建立的結(jié)構(gòu)體變量很類似。 internal class Motor //新建Motor類文件 { public string Start; //定義全局變量 public string Stop; public void Dianji() //定義全局函數(shù) { Console.WriteLine("電機(jī)狀態(tài)有:{0}、{1}",this.Start,this.Stop); } } Motor motor = new Motor(); //實(shí)例化類 motor.Start = "啟動"; //引用類中的元素 motor.Stop = "停止"; motor.Dianji(); internal class Motor { //在類型前面加static public static string Start; //static靜態(tài)成員 public static string End; public static void Qidong() { Console.WriteLine("啟動"); } } //靜態(tài)成員調(diào)用 ,不需要實(shí)例化對象 //實(shí)例成員會單獨(dú)占用一個內(nèi)存 //靜態(tài)成員共享一個內(nèi)存 Motor.Start = "開始啟動"; Motor.End = "開始停止"; Motor.Qidong(); 在類中聲明兩個名稱相同的方法,調(diào)用時即可選擇性的傳遞自己需要的方法中的參數(shù)。 internal class Employee { //使用三斜杠解釋代碼塊的具體含義 /// <summary> /// 計算A類工資 /// </summary> /// <param name="baseSa">基本工資</param> /// <param name="workYear">工作年限</param> /// <param name="yearSa">工資年齡</param> /// <returns>總工資</returns> //將兩個方法的名稱設(shè)置一致,返回值也要一致,才能構(gòu)成重載 public double Salary(double baseSa,int workYear,double yearSa) { double sum = baseSa + workYear * yearSa; return sum; } /// <summary> /// 計算B類工資 /// </summary> /// <param name="baseSa">基本工資</param> /// <param name="workYear">工作年限</param> /// <param name="yearSa">工資年齡</param> /// <param name="ProSa">項(xiàng)目資金</param> /// <returns>總工資</returns> public double Salary(double baseSa, int workYear, double yearSa,double ProSa) { double sum = baseSa + workYear * yearSa+ProSa*0.1; return sum; } } Employee emp = new Employee(); //實(shí)例化類 double Salary1 = emp.Salary(10, 10, 10); //調(diào)用方法1 double Salary2 = emp.Salary(10, 10, 10, 1000); //調(diào)用方法2 Console.WriteLine(Salary1);Console.WriteLine(Salary2); 17-get set訪問器(將屬性私有化,通過公有化的方式進(jìn)行操作) get{}訪問器:設(shè)置對象可讀,用于獲取字段的值,需要使用return返回字段的值。 set{}訪問器:設(shè)置對象可寫,用于設(shè)定字段的值,需要使用一個特殊的值,這個值就是在面向?qū)ο笤O(shè)計中,對字段設(shè)置的值。 public 數(shù)據(jù)類型 屬性名 { get { 獲取屬性的語句塊; return 值; } set { 設(shè)置屬性得到語句塊; } } 在新建類中對屬性進(jìn)行定義時,使用Public則外部程序可以隨意對類中的屬性進(jìn)行修改,使用private則外部程序又無法訪問,此時可以對private定義的屬性通過get,set訪問器來進(jìn)行訪問。 private string status; public string Status //通過Status訪問status { //通過共有的Status對私有的status進(jìn)行讀寫操作 //外部程序中調(diào)用Status,對Status的寫操作經(jīng)由set賦值給status。 get { return status; } //設(shè)置屬性可讀 set //設(shè)置屬性可寫,value為外部傳給過來的值。經(jīng)過Status傳給status { //當(dāng)外部程序輸入的內(nèi)容不是"正轉(zhuǎn)"、"反轉(zhuǎn)"的話顯示輸入錯誤 if (value.Equals("正轉(zhuǎn)")||value.Equals("反轉(zhuǎn)")) { status = value; //關(guān)鍵字、將外部輸入的內(nèi)容賦值給value然后由value寫給status } else status = "輸入錯誤"; } } static void Main(string[] args) { Motor motor=new Motor(); motor.Num = 1; motor.Status = "正轉(zhuǎn)"; motor.MoStatus(); } 訪問流程-執(zhí)行 motor.Status = "正轉(zhuǎn)";調(diào)用Status中的set訪問器,將"正轉(zhuǎn)"傳給value,再經(jīng)value傳給private中的ststus 18-構(gòu)造函數(shù) 特點(diǎn)---名字必須與定義它的類名完全相同,并且沒有返回類型; internal class Motor { public string EquName { get; set; } public string EquStatus { get; set; } //構(gòu)造一個與類名相同的函數(shù),參數(shù)類型與類中的參數(shù)一致,并將參數(shù)進(jìn)行傳遞 public Motor(string equName,string equstatus)//名稱與類名相同,實(shí)例化的同時賦值 { EquName = equName; EquStatus = equstatus; } public Motor() //先實(shí)例化再賦值,即創(chuàng)建一個構(gòu)造函數(shù)的重載 { } public void MStatus() { Console.WriteLine("{0}電機(jī){1}",EquName,EquStatus); } }
19-繼承 類與類之間可以形成繼承的關(guān)系,即父類與子類之間的關(guān)系。 格式:子類:父類 實(shí)例化子類可以引用父類中的聲明 建立子類SaleMan internal class SaleMan:Employee //表示Employee這個類是SaleMan這個類的父類 { public string WorkYear { get; set; } } 建立父類Employee internal class Employee //父類中的元素在子類中均可用 { public string Num { get; set; } public string Name { get; set; } public string Sex { get; set; } } 調(diào)用類 SaleMan Sale=new SaleMan();Sale.Name = "ABCD"; //Name本為Employee中的元素,由于Employee為SaleMan的父類,故SaleMan實(shí)例化后有父類的屬性 public Motor(string equName, string equStatus)//構(gòu)造函數(shù) { EquName = equName; EquStatus = equStatus; } public string EquName { get; set; } public string EquStatus { get; set; }
public Motor(string equNo, string equName, string equStatus) { //根據(jù)equNo對集合進(jìn)行操作 EquNo = equNo; EquName = equName; EquStatus = equStatus; } public string EquNo{ get; set; } public string EquName { get; set; } public string EquStatus { get; set; } Motor M11 = new Motor("001", "走行1", "正轉(zhuǎn)");//實(shí)例化類并賦值 Motor M12 = new Motor("002", "走行2", "反轉(zhuǎn)"); Motor M13 = new Motor("003", "升降1", "正轉(zhuǎn)"); Motor M14 = new Motor("004", "升降2", "反轉(zhuǎn)"); Hashtable hslist = new Hashtable(); //聲明集合并實(shí)例化 hslist.Add(M11.EquNo, M11); //M11.EquNo為唯一的鍵值對, hslist.Add(M12.EquNo, M12); hslist.Add(M13.EquNo, M13);//要添加元素的鍵和元素的值 //獲取某個元素 Console.WriteLine("編號為001的設(shè)備:" + ((Motor)hslist["001"]).EquName); Console.WriteLine("編號為002的設(shè)備:" + ((Motor)hslist["002"]).EquStatus); Console.WriteLine("編號為001的設(shè)備:" + ((Motor)hslist[M14.EquNo]).EquName);//獲取M14對應(yīng)編號的設(shè)備名 Console.WriteLine(); //循環(huán)遍歷(遍歷鍵、遍歷值) Console.WriteLine("遍歷鍵-----------------------"); foreach (string item in hslist.Keys)//鍵的類型全部為字符串類型 { Console.WriteLine(item+" "); } Console.WriteLine(); Console.WriteLine("遍歷值----------------------------"); foreach (Motor item in hslist.Values) //將鍵值對的值進(jìn)行組合 { Console.WriteLine("設(shè)備號:{0},設(shè)備名:{1},設(shè)備狀態(tài):{2}", item.EquNo, item.EquName, item.EquStatus); } Console.WriteLine(); //刪除,通過鍵值對刪除 hslist.Remove("001"); //添加元素 hslist.Add(M14.EquNo,M14); foreach (Motor item in hslist.Values) //將鍵值對的值進(jìn)行組合 { Console.WriteLine("設(shè)備號:{0},設(shè)備名:{1},設(shè)備狀態(tài):{2}", item.EquNo, item.EquName, item.EquStatus); } //清除 hslist.Clear(); public Travel(string trNo,string trName) //構(gòu)造函數(shù),在聲明時賦值 { TRNo = trNo; TRName = trName; } public string TRNo; public string TRName; Travel TR1 = new Travel("001", "走行1"); Travel TR2 = new Travel("002", "走行2"); List<Travel> list=new List<Travel>(); //list里面只能添加Travel類中的元素 //添加 list.Add(TR1); list.Add(TR2); //獲取元素個數(shù) Console.WriteLine("共有"+list.Count+"個元素"); //獲取指定的元素 Console.WriteLine("第2個元素:" + ((Travel)list[1]).TRName); //插入 Travel TR3 = new Travel("003", "走行3"); list.insert(0, TR3);//將TR3插入到索引0的位置 //刪除 list.Remove(TR2); list.RemoveAt(0); //遍歷 foreach (Travel item in list) { Console.WriteLine("遍歷設(shè)備編號:{0},設(shè)備名稱{1}", item.TRNo, item.TRName); } //清除 list.Clear(); public Travel(string trNo,string trName) //構(gòu)造函數(shù),在聲明時賦值 { TRNo = trNo; TRName = trName; } public string TRNo; public string TRName; Travel TR1 = new Travel("001", "走行1"); Travel TR2 = new Travel("002", "走行2"); //<>中是鍵值對的類型,值 Dictionary<string, Travel> dict = new Dictionary<string, Travel>(); //指定鍵和值的類型 //添加 dict.Add(TR1.TRNo, TR1); dict.Add(TR2.TRNo, TR2); //獲取元素個數(shù) Console.WriteLine("共有:"+dict.Count +"個元素"); //刪除,通過鍵值對刪除 dict.Remove("001"); //遍歷鍵值對 foreach (string item in dict.Keys) { Console.WriteLine(item); } //遍歷值 foreach (Travel item in dict.Values) { Console.WriteLine("設(shè)備編號:{0},設(shè)備名稱{1}", item.TRNo, item.TRName); } //清除 dict.Clear(); 該文章在 2023/5/15 22:24:30 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |