這篇文章主要介紹“Linq查詢本質是什么”,在日常操作中,相信很多人在Linq查詢本質是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linq查詢本質是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1.自動屬性
class Class { //C#2.0 屬性 //private int _id; //public int ID //{ //get { //return _id; //} //set //{ //_id = value; //} //} //C#3.0 屬性 可以給get set加訪問修飾符 public int ID { get; private set; } public string Name { get; set; } public Class(int id) { //加了private之后的屬性只能在類的內部訪問 this.ID = id; } }Linq查詢本質:和原來的屬性沒啥兩樣 ,簡化了語法而已。
2.初始化器
private static void Initializer() { //C#2.0 對象初始化 //Class c = new Class(1); //c.Name = "***一班"; //C#3.0 對象初始化器 Class c = new Class(1) { Name = "***一班" }; //C#2.0 集合初始化 //ClassCollection list = new ClassCollection(); //list.Add(c); //C#3.0 集合初始化器 ClassCollection list = new ClassCollection { new Class(1) { Name="***一班"}, new Class(2){Name="***二班"} }; foreach (Class item in list) { Console.WriteLine(item.ID + " " + item.Name); } }Linq查詢本質:和原來的構造函數初始化或構造后通過屬性初始化沒啥兩樣 ,簡化了語法而已。
3.具有隱式類型的局部變量
private static void Var() { var i = 1; // 編譯過后的結果實際是 int i=1; var并不是動態變量,它的類型實際上是c#編譯器通過上下文推斷是int //var i = DateTime.Now; //編譯不過,和JavaScript不一樣 var d = DateTime.Now; //=后面支持各種類型 var a = new int[] { 1, 2, 3 }; //var也支持數組 foreach (var item in a) //item的類型通過C#編譯器推斷得知是int { Console.WriteLine(i); } //var x; // 錯誤,沒有用來推斷類型的初始化器 //var y = { 1, 2, 3 }; // 錯誤,不允許使用集合初始化器 //var z = null; // 錯誤,不允許出現空類型 }Linq查詢本質:var并非動態類型 ,C#仍然是靜態語言,引入var方便我們寫代碼了,可以不管“=”后面的賦值表達式類型了,由編譯器自己去推斷生成對應類型了。
到此,關于“Linq查詢本質是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。