如何在Linq中从逗号分隔字符串中选择令牌和索引
本文关键字:选择 字符串 令牌 索引 分隔 Linq | 更新日期: 2023-09-27 18:09:34
给定一个逗号分隔的字符串"a,b,c",我想分割字符串并选择令牌及其各自的索引到一个列表中。
换句话说,我希望"a,b,c".Split(',')
返回一个列表:
a, 1
b, 2
c, 3
我自己尝试了解决方案,但这是我最接近的。当然,我只在最后一行使用a.Index()
来指示我要做的事情。
public class var
{
public string Token;
public int Index;
}
List<var> varList = "a,b,c"
.Split(',')
.Select(a => new var { Token = a, Index = a.Index() };
您可以使用Select
的另一个重载,.Select(Func<string, int, TResult>)
给出值的索引。
List<Var> varList = "a,b,c".Split(',')
.Select((a, i) => new Var { Token = a, Index = i + 1 })
.ToList();
你可以使用Select的重载来提供索引:
var list = "a,b,c".Split(',').Select((a,i) => new { Token = a, Index = i+1 }).ToList();
我建议不要使用var
作为类名,因为它会与c# var
关键字冲突。