获取索引为int []索引的string []元素

时间:2012-03-16 15:02:14

标签: c# .net linq lambda

我有一个string[],想要获取string[]的元素,其中包含{{1}指定的索引,我知道存在 }。

int[]

从此,我想获得一个string[] stringArray = { "a", "b", "c", "d", "e", "f", "g" }; int[] indices = { 1, 2, 4, 6 }; 包含string[]。优选使用λ表达。我该怎么做?

6 个答案:

答案 0 :(得分:10)

你能做到的一种方法就是这样。

string[] result = indices.Select(i => stringArray[i]).ToArray()

答案 1 :(得分:6)

indices.Select(i => stringArray[i]);

答案 2 :(得分:3)

stringArray.Where((x,index) => indices.Contains(index)); 

答案 3 :(得分:1)

foreach( int i in indices){
    string s = stringArray[i]
    //DO stuff
}

答案 4 :(得分:1)

LINQ: var result = from indice in indices select stringArray[indice]
LAMBDA EXPRESSION: var result = indices.Select(i => stringArray[i])

答案 5 :(得分:1)

这样的事情:

var result= (
    from str in stringArray.Select ((a,i) =>new {a,i})
    where indices.Contains(str.i)
    select str
);