在 c# 中迭代(比如 10 個單元格)數組的方法是什么,其中只有前 4 個填充了值并避免遍歷剩余的 6 個?我可以為索引保留一個 int 并在每個數組添加/刪除操作上修改它,但想知道 c# 是否有內置(且高效)的函數來實現這一點。提前致謝。
3 回答

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
就目前所知,您有 2 個高性能選項
for 循環,缺點是每次迭代都必須檢查條件
for(var i = 0; ary[i] != null & i < length; i++)
{
}
但是,如果這真的是關鍵任務,您將不得不保留一個列表(或范圍的索引),更新速度較慢,迭代速度較快
如果你想擠出更多的性能,使用fixed和unsafe

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
您可以使用列表,然后將其轉換為數組
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(5);
int[] arr = list.ToArray();
int sum = 0;
foreach (int value in arr)
{
sum += value;
}

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
是的,您可以使用內置的TakeWhile方法:
var result = Array.TakeWhile(item => item != string.IsNullOrEmpty(item));
foreach (int value in result)
{
Console.WriteLine(value);
}
- 3 回答
- 0 關注
- 183 瀏覽
添加回答
舉報
0/150
提交
取消