有没有更好的方法来做到这一点?使用LINQ查询获取索引值的集合
string[] s = {"zero", "one", "two", "three", "four", "five"};
var x =
s
.Select((a,i) => new {Value = a, Index = i})
.Where(b => b.Value.StartsWith("t"))
.Select(c => c.Index);
即我正在寻找一个更有效或更优雅的方式来获得符合条件的项目的位置。
谢谢 - 我不知道你可以这样做 - 我以为你必须重新分配。 – Guy 2008-10-26 02:07:23
它被称为“投影初始值设定项” - 它基本上取表达式中的最后一个子表达式(它必须是一个字段或属性)并将其用于名称。所以你可以做x.GetFoo()。Bar和那个相当于Bar = x.GetFoo()。Bar。 – 2008-10-26 07:12:36