gpt4 book ai didi

c# - 如何使用 linq 从列表中的列表中选择某些字符串(按索引)?

转载 作者:行者123 更新时间:2023-11-30 20:07:28 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象。

List<List<string>> MyData;

内部List<string>可以包含未定义数量的字符串,但数量始终大于 0。
在另一个对象中,我有要选择的字符串的索引号。Index编号位于MyObject.Number中;

我怎样才能得到 List<List<string>>只有给定索引处存在的字符串的对象?

我尝试了以下方法:

List<List<string>> test = new List<List<string>>();
List<MyObject>.ForEach(p => test.Add(MyData.Select(q => q[p.Number]).ToList()));

这并没有很好地解决问题,因为我得到了一个列表,其中的字符串在列表中是分开的。

例子:
我有一个List与 100 List<string>在里面。 List<string>包含 5 个字符串。 List<MyObject>告诉我他有索引 0 和 2。
我尝试的代码返回给我一个包含两个列表的列表。第一个列表包含 List<string> 的 0 位置中的所有字符串。 , 第二个列出了 List<string> 的第 2 个位置中的所有字符串.我想要一个包含 100 个列表的列表,每个列表中有 2 个字符串。

请帮我解决这个问题。

如有需要,请随时询问更多信息。

解决方案:

List<List<string>> MyResult = MyData.Select(l => MyObjects.Select(p => p.Number).ToList().Select(i => l[i]).ToList()).ToList();

最佳答案

我想这就是你想要的(indexes是请求索引的集合)

var indexes = new List<int>() {0, 2};
var whatYouWant = strings.Select(item => indexes.Select(index => item[index]).ToList())

关于c# - 如何使用 linq 从列表中的列表中选择某些字符串(按索引)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com