【发布时间】:2016-11-23 12:45:53
【问题描述】:
我有一个IEnumerable<List<int>>,我想在它的一个列表中插入一个值。但我不能?
我在LinqPad中尝试了如下语句,但是插入后结果集不变:
var lists = new int[]{1,2,3}.Select(x => new List<int>{x});
lists.Dump();
lists.First().Insert(0, 5);
lists.Dump();
(我希望列表包含:{5, 1},但它仍然只包含 {1})
【问题讨论】:
-
您的列表不是列表而是查询。每当您执行它时,它将生成三个列表,其中 single int 1,2 和 3。因此您不会得到包含三个 int 的单个列表。如果你想使用
Enumerable.Range(1, 3).ToList()或new int[]{1,2,3}.ToList() -
自我回答的问题如果涵盖了以前未涉及的内容,则很好,并且积极鼓励您发布它们,但在这种情况下,基本问题之前已经问过,并且收到的答案至少和你自己的一样好。例如stackoverflow.com/questions/9104181/…
-
@hvd 所以在某些情况下可以发布问题并立即自己回答?
-
@Tim:啊,是的,我的命名很糟糕。我的意思是
lists。我更新了我的代码。 -
@Protectorone 这些差异都不相关。它可以说,
Foo而不是list或item,或asdfklnasdfn,或ImARandomClass。序列中的实际项目实际上并不影响问题。如果有人最终找到了您的问题,而不是规范,那么当他们遇到此问题时,他们会看到它是重复的,转到规范,并得到一个很好的答案,因为 这是一个重复的问题。这就是我们将重复问题作为重复问题关闭的原因,以便找到这些重复问题的人可以找到规范答案。
标签: c# linq ienumerable generic-list