比方說,我有一個庫存插槽範圍從1到100如何找到該範圍內的第一個空插槽?MVC 5如何將linq result(Number)綁定到array [i]?
首先,我想使用Array.FindIndex,但我堅持在這裏。
var InventorySlot = (from i in db.InventoryModel where i.userId == 1 select i.slot).ToArray();
int index = Array.FindIndex(InventorySlot, item => item == null);
但是,這將創造
- InventorySlot [0] = 1
- InventorySlot [1] = 3
- InventorySlot [2] = 4
所以如何像這樣創建?
- InventorySlot [1] = X
- InventorySlot [3] = X
- InventorySlot [4] = X
也許我可以使用Array.FindIndex定位空數組?索引變量我需要的是2(數組中的第一個空號)
帶有'where i.SlotId == 1'的linq查詢將永遠不會返回其中'i'爲空的行。爲什麼你認爲'InventorySlot [2]'是或應該是'null'? – GSerg
@GSerg,這取決於在linq查詢中選擇什麼。上面的代碼沒有選擇。 – derloopkat
對不起,linq是混合韓語詞,所以你可能不會很容易理解,所以我只是簡單地把它改變得更容易理解。現在只是假設linq會起作用。 – Kai