我有此代码:
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 }))
但是我想知道是否还有一种更简洁的方法可以做到这一点。
答案 0 :(得分:2)
为什么不为每个元素使用哈希码?
cardSetPhrases.ForEach(x => x.Index = x.GetHashCode());
对于序列,我认为您需要依赖一个单独的变量
int i = 0;
cardSetPhrases.ForEach(x => x.Index = i++);