我有以下代码:
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 }))
但是我想知道是否有更简洁的方法可以做到。
最佳答案
为什么不为每个元素使用哈希码?
cardSetPhrases.ForEach(x => x.Index = x.GetHashCode());
对于序列,我认为您需要依赖一个单独的变量
int i = 0;
cardSetPhrases.ForEach(x => x.Index = i++);
关于c# - 填充列表时,如何添加具有唯一编号的列表属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55219961/