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

本文关键字:索引 string 元素 获取 int | 更新日期: 2023-09-27 18:27:57

我有一个string[],并且想要获得string[]的元素,该元素具有一个索引,我知道该索引存在,在int[]中指定。

string[] stringArray = { "a", "b", "c", "d", "e", "f", "g" };
int[] indices = { 1, 2, 4, 6 };

由此,我试图得到一个包含{ "b", "c", "e", "g" }string[]。优选使用lambda表达式。我该怎么做?

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

可以这样做的一种方法是。

string[] result = indices.Select(i => stringArray[i]).ToArray()
indices.Select(i => stringArray[i]);
stringArray.Where((x,index) => indices.Contains(index)); 
foreach( int i in indices){
    string s = stringArray[i]
    //DO stuff
}

类似这样的东西:

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

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