我有以下代码:

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/

10-17 01:31