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

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

如何更新列表中的一個整數

如何更新列表中的一個整數

C#
繁星coding 2023-04-29 16:36:22
有沒有辦法更新列表中的一個整數。可以說我有一個列表,其中包含一些框中的剩余空間,我想更新它。我怎么能這樣做:foreach (var itemToStore in items) {if (boxCapacities.Any(bc => bc >= itemToStore.Size())) {    var availableBox = boxCapacities.First(tc => (bc => bc >= itemToStore.Size());    availableBox -= itemToStore.Size();}}上面代碼的問題是列表中有整數,它們是按值復制的,所以當我更新 availableBox 變量時,我沒有更新列表中的變量。有沒有一種優雅的方法可以解決這個問題,而無需創建一個新對象來封裝整數?
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

正如 Ron Beyer 所說,使用 FindIndex 可以解決問題


var index = boxCapacities.FindIndex(bc => bc >= itemToStore.Size());

if (index != -1) {

    boxCapacities[index] -= itemToStore.Size();

}

如果它們更優雅或性能更好,我仍然愿意接受其他解決方案


查看完整回答
反對 回復 2023-04-29
?
慕雪6442864

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

可能更復雜,但只是為了探索您可以擁有的可能性


foreach (var itemToStore in items)

{

    var idx = boxCapacities.Select((x, i) => new {index=i,ok= (x>=itemToStore.Size())})

                           .FirstOrDefault(k => k.ok);

    if(idx != null)

        boxCapacities[idx.index] -= itemToStore.Size();

}


查看完整回答
反對 回復 2023-04-29
  • 2 回答
  • 0 關注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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