C#是否有Linq方法可对列表首个元素执行函数(若存在)?
解决方案
你可以通过Linq的Take(1)结合List的ForEach方法实现需求,一行代码搞定:
SomeList.Take(1).ToList().ForEach(o => DoSomethingWith(o));
原理说明
Take(1):从序列中获取第一个元素(如果序列非空),否则返回空序列,不会抛出异常。ToList():将获取到的元素(或空序列)转换为List,这样就能调用List自带的ForEach方法。ForEach:如果List为空(原序列没有元素),则不会执行任何操作;如果有元素,就对唯一的那个元素执行你的逻辑。
这种方式完全符合函数式范式的简洁性,不需要额外的空值检查或异常处理,完美匹配你想要的ForFirst行为。
内容的提问来源于stack exchange,提问作者Mark Fairchild
相关产品推荐
相关产品推荐

