我有一个列表如下:
Cat, Green, 10
Cat, Green, 1
Dog, Red, 4
Cat, Blue, 2
Run Code Online (Sandbox Code Playgroud)
每个项目只是列表中的逗号分隔字符串元素.
我想得到上面列表中包含cat和10或包含cat和2的所有元素的所有索引值.所以基本上我应该从列表中的查询返回索引值0和3.任何人都可以告诉我如何做到这一点?
听起来像你想要的:
var query = list.Select((item, index) => new { item, index })
.Where(pair => pair.item.Name == "Cat" &&
(pair.item.Value == 10 || pair.item.Value == 2))
.Select(pair => pair.index);
Run Code Online (Sandbox Code Playgroud)
(假设元素具有您显示的第一列和第三列的Name和Value属性.)
编辑:好的,如果您只是使用字符串,您可以使用:
var query = list.Select((item, index) => new { item, index })
.Where(pair => pair.item.StartsWith("Cat,") &&
(pair.item.EndsWith(", 10") ||
pair.item.EndsWith(", 2"))
.Select(pair => pair.index);
Run Code Online (Sandbox Code Playgroud)
或者,将列表解析成更开心的东西......
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |