簡體   English   中英

C#如何在foreach / for循環中添加到數組的索引?

[英]C# how to add to the index of an array in a foreach / for loop?

C#新手,對為什么不起作用感到困惑。

假設我有一個{1、2、3}數組。

我將如何遍歷此數組以設定的增量更改值,例如,如果增量為1:

{1,2,3}變為{2,3,4}

如果它的2變成{3,4,5}等。

這是我的嘗試-

foreach (int i in ls)
{
int index = i + increment;
}

您幾乎成功了,但是失敗了,因為您將增量的結果放入了一個臨時變量,然后在每個循環中都將其重置,並且沒有更改原始數組

而且foreach不適合這種操作,因為無論如何您都需要一個索引來指向要編輯的正確數組元素,因此for更好

int increment = 1;
for (int i = 0; i < ls.Length; i++) {
   int newValue = ls[i] + increment;
   ls[i] = newValue;
}

我創建了一個小提琴,您可以測試

https://dotnetfiddle.net/lkkLUv

請注意,我或多或少地嘗試了一下,以便您可以看到不同之處,但是可以將循環縮小為

for (int i = 0; i < ls.Length; i++) {
    ls[i] += increment;
}

使用您的表示法,應執行以下操作:

var newarr = ls.Select(w => w + increment);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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