本文主要是介绍.Net C# Linq Where 方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Where方法用来做条件筛选,从集合、数组等对象中获取满足条件的元素
参考代码:
1.Lambda获取集合中大于4的数字:
var Number = data.ListInt.Where(n => n > 4);Console.WriteLine(string.Join(' ', Number));
2.Linq语法获取集合中大于4的数字:
var Number1 = from d in data.ListIntwhere d > 4select d;Console.WriteLine(string.Join(' ', Number1));
以上两种写法是等价的。
3.Where方法还有一个使用2个参数的重载方法
演示Where方法两个参数的重载,第一个参数为元素,第二个为元素的索引(计算元素大于元素乘元素的索引),第二个参数为元素在集合中的索引
var Number2 = data.ListInt.Where((n, m) => n > n * m);Console.WriteLine(string.Join(' ', Number2));
下面再演示下查询字符型集合
1.查询字符串长度大于2的
var listStr = data.ListStr.Where(s => s.Length > 2);Console.WriteLine(string.Join(' ', listStr));
2.使用Linq语法查询
var listStr1 = from s in data.ListStrwhere s.Length > 2 && s.IndexOf("q") > -1select s;Console.WriteLine(string.Join(' ', listStr1));
3.演示重载方法(第二个参数为元素索引)
var listStr2 = data.ListStr.Where((s, i) => s.Length > 2 && i > 4);Console.WriteLine(string.Join(' ', listStr2));
输出结果如下:
集合元素代码:
public class DataList{public List<string> ListStr;public List<int> ListInt;public DataList(){ListStr = new List<string>(){"abc" ,"def","ghi","jkl","mno","pqr","stu","vwx","yz"};ListInt = new List<int>(){1,2,3,4,5,6,7,8,9,10};}}
这篇关于.Net C# Linq Where 方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!