.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.ListInt
                              where d > 4
                              select 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.ListStr
                               where s.Length > 2 && s.IndexOf("q") > -1
                               select 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
            };
        }


    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个堆栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值