C# Linq基本操作以及into、let关键字
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# Linq基本操作以及into、let关键字,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2534字,纯文字阅读大概需要4分钟。
内容图文
![C# Linq基本操作以及into、let关键字](/upload/InfoBanner/zyjiaocheng/831/df72e887f32f430ba5def0e6f8cb3f3a.jpg)
概念:“查询”也是一种指令,使用这组指令可以从给定的一个或多个数据源中检索数据,并以指令的形式返回结果。Linq也是一种查询,可以为编程语言提供强大的方便的查询功能,并与其合为一体。
Linq的强大体现在它的简洁 方便的代码量。比如要筛选出list中一个属性的元素,相对于list就要遍历判断;但是你用linq就只需要一句。但是这也会造成一些问题,导致后期比人维护你的项目造成麻烦(哪有最好的东西呀,双刃剑吧 哈哈)
From:子句被查询的数据源(相当于for循环)
Where:子句指定元素所满足的过滤条件(相当于if判断)
orderby:表现方式(相当于排序方式,升序、降序。。。)
Select:子句制定查询结果的表现形式,(相当于return)
下面用代码来说明问题:
// Linq Query语句
int[] numbers = { 12, 23, 34, 45, 56, 67 };
var numQuery = from num in numbers
where num % 2 == 0
orderby num ascending // ascending 升序(可省略)
select num;
foreach(var n in numQuery)
{
Console.WriteLine(n);
}
// Linq Method语句
var numMethod = numbers.Where(n => n % 2 == 0).OrderBy(n => n);
foreach(var n in numMethod)
{
Console.WriteLine(n);
}
注意:以上两个语句的代码量相差还是有点大的,Query将每块逻辑分开,而Method将所有逻辑集中于一行来实现。
into、let关键字
// Linq into关键字
List<Peo> peoList = new List<Peo>();
peoList.Add(new Peo() { name = "lizhi", city = "shanghai" });
peoList.Add(new Peo() { name = "linqingxia", city = "beijing" });
peoList.Add(new Peo() { name = "liuyifei", city = "shanghai" });
var intoLinq = from num in peoList
group num by num.city into groupnum
where groupnum.Count() >= 2
select new { city = groupnum.Key, number = groupnum.Count() };
foreach(var i in intoLinq)
{
Console.WriteLine(i.city + "---" + i.number);
}
以上示例:into 字面解释意为“打入”,以上事例将遍历proList得到的num筛选出city属性放入groupnum中,这里的groupnam可以看作是一个集合,这个集合存的是city属性。
// Linq let关键字
string[] strings = { "hello world.", "lin qing xia", "wang zu xian" };
var strs = from s in strings
let words = s.Split(' ')
from word in words
let w = word.ToUpper()
select w;
foreach(var s in strs)
{
Console.WriteLine(s);
}
内容总结
以上是互联网集市为您收集整理的C# Linq基本操作以及into、let关键字全部内容,希望文章能够帮你解决C# Linq基本操作以及into、let关键字所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。