c# - 尝试使用 linq 在第一次匹配后获取所有元素

标签 c# linq

如何使用 linq 检索第一个不以 "-" 开头的元素之后的所有元素?

var arr = new[] {"-s1", "-s2", "va", "-s3", "va2", "va3"};
var allElementsAfterVA = from a in arr where ???? select a;

我希望 allElementsAfterVA"-s3", "va2", "va3"

最佳答案

要查找第一个不以“-”开头的参数之后的所有参数,您可以这样做:

var elementsAfterFirstNonDash = arr.SkipWhile(i => i[0] != '-').Skip(1);

这会找到“va”,然后通过 Skip(1) 跳过它。其余参数将被返回。

关于c# - 尝试使用 linq 在第一次匹配后获取所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2428554/

相关文章:

c# - PV 函数和将 VB6 移植到 C#

c# - 如何通过反射获取基本方法的 MethodInfo,而不是属性和事件?

ASP.NET LINQ SQL 数据库

c# - 带有 Contains 的 LINQ Where 子句,其中列表具有复杂对象

c# - 无法在 MongoDB C# 驱动程序中执行多个组

c# - 更改 foreach 语句中的 Linq 对象?

c# - 使用 DCS 的 MessageContract 序列化

C# : How to get number of days from an object of DateTime

c# - Autofac 列出所有子依赖链注册

c# - Linq - 按 ID 值排序