[英]C# foreach set list property to loop index in one line using list.Foreach
int loopIndex = 0;
foreach (var item in dataList)
{
item.ChannelId = loopIndex;
loopIndex++;
}
我在一行中尋找上述代碼的替代形式。 dataList.ForEach(x=>x.ChannelId=...)
請提出建議。
如果您使用NuGet Microsoft的“ System.Interactive”擴展,則可以執行以下操作:
dataList.ForEach((item, index) => item.ChannelId = index);
這是一行中的Linq
方法,無需安裝另一個庫
dataList = dataList.Select((x, i) => { x.ChannelId = i; return x; }).ToList();
代碼: https : //dotnetfiddle.net/SCEbyV
另一個方法-一行中經典for
循環方式
for (int i = 0; i < dataList.Count; i++) dataList[i].ChannelId = i;
嘗試這個
dataList.ForEach(x => x.ChannelId = loopIndex++);
嘗試這個
dataList= dataList.Select(x=>x.ChannelId=loopIndex++).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.