亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

迭代數組 - 僅具有值的數組單元格

迭代數組 - 僅具有值的數組單元格

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

3 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

就目前所知,您有 2 個高性能選項


for 循環,缺點是每次迭代都必須檢查條件


for(var i = 0; ary[i] != null & i < length; i++)

{


}

但是,如果這真的是關鍵任務,您將不得不保留一個列表(或范圍的索引),更新速度較慢,迭代速度較快


如果你想擠出更多的性能,使用fixed和unsafe


查看完整回答
反對 回復 2021-10-09
?
慕無忌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;

}


查看完整回答
反對 回復 2021-10-09
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

是的,您可以使用內置的TakeWhile方法:


  var result = Array.TakeWhile(item => item != string.IsNullOrEmpty(item)); 


  foreach (int value in result)

  {

     Console.WriteLine(value);

  }


查看完整回答
反對 回復 2021-10-09
  • 3 回答
  • 0 關注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號