填充列表时,如何添加具有唯一编号的列表属性?

时间:2019-03-18 11:07:17

标签: c# linq

我有此代码:

List<Phrase> cardSetPhrases = App.DB.GetPhrasesForCardSet(cardSetId);

Phrase对象具有int Index属性。

是否有使用LINQ的方式可以为从右侧返回的每一行填充一个序列号?

我确实考虑过这样的事情:

foreach (var x in App.cardSetWithWordCount.Select((r, i) => new { Row = r, Index = i }))

但是我想知道是否还有一种更简洁的方法可以做到这一点。

1 个答案:

答案 0 :(得分:2)

为什么不为每个元素使用哈希码?

cardSetPhrases.ForEach(x => x.Index = x.GetHashCode());

对于序列,我认为您需要依赖一个单独的变量

int i = 0;
cardSetPhrases.ForEach(x => x.Index = i++);