如何通過名稱(或值)而不是索引找到數組中項目的值?例如:
;得到名稱ID = 1
如何通過名稱(或值)而不是索引找到數組中項目的值?
我有一個對象數組,其中每個對象都有一個子數組。我想按字母順序排列ID在父對象中的位置,並且名稱位於子數組中...
父數組(MyObjects)中的每個對象都是這樣的形狀;
Index, _itemID, _price, NamesIDs []
每個對象(MyObjects._aSingleAssignment.NamesIDs)中的子數組都是這樣的形狀;
Index, _ itemID, _name
我沒建這個東西,所以藉口瘋狂,但父陣列具有項目ID和價格,子陣列具有系統中的所有項目編號和名稱的列表...對於任何給定ID(父數組),我如何得到它的名稱(子數組)?
我知道如何在任何給定索引處獲得_itemID;
MyControl _aSingleAssignment = this.MyObjects[i] as MyControl;
int _itemID = _aSingleAssignment.ID; // The ID for the currently evaluated item
我知道如何從子數組中的任何給定索引獲取名稱;
string _itemName = _aSingleAssignment.NamesIDs[i].Name;
但是,當給定ID而不是通過索引拉出它時,如何獲得名稱?如果我通過索引拉它,我必須遍歷子數組中的每個項目並進行比較。我不介意迭代,但我認爲必須有一個更簡單的方法。
我想要做的事,如:
string _itemName = _aSingleAssignment.NamesIDs[ID == _itemID].Name;
如果只是抓住了ID的名稱相匹配。
這個練習的要點是我父陣列按字母順序排序,而不是數字(的.sort())
謝謝你們!
請還附上你處理的對象的代碼。 –