温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linq查询本质是什么

发布时间:2021-12-02 09:20:03 来源:亿速云 阅读:147 作者:iii 栏目:编程语言

这篇文章主要介绍“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查询本质是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI