3

コンマで区切られた文字列「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() };
4

2 に答える 2

2

の他のオーバーロードを使用できます。これによりSelect.Select(Func<string, int, TResult>)値のインデックスが得られます。

List<Var> varList = "a,b,c".Split(',')
    .Select((a, i) => new Var { Token = a, Index = i + 1 })
    .ToList();
于 2013-04-15T23:37:12.773 に答える
2

インデックス作成を提供するSelectのオーバーロードを使用できます。

var list = "a,b,c".Split(',').Select((a,i) => new { Token = a, Index = i+1 }).ToList();

余談ですが、 C#キーワードvarと競合するため、クラス名として使用しないことをお勧めします。var

于 2013-04-15T23:37:23.120 に答える