簡體   English   中英

C#foreach將list屬性設置為使用list在一行中循環索引。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM