2012-11-21 115 views
-1
List<KeyValuePair<int, string>> descr = proplist(); 

如何獲取此列表後,訪問它並從中查找值。例如,稍後,列表的int將等於data.propval,列表的字符串部分將用作cmd參數。訪問密鑰對來查找密鑰並返回值

  { 
       using (DB2Connection conn = new DB2Connection()) 
       { 
        try 
        { 
         if (conn.State != ConnectionState.Open) 

         foreach (CollyUp data in DataUps) 
         { 
          if (data.PropVal== **int from list**) 
          { 

           DB2Command cmdtx = new DB2Command(); 

           string insert = @"blah...." 

           cmdtx.Parameters.Add("@MemberNbr", data.nvr); 
           cmdtx.Parameters.Add("@LoanNbr", data.Ln); 
           cmdtx.Parameters.Add("@PropVal", data.PropValue); 
           cmdtx.Parameters.Add("@ValueDescrip", **string.Value from list**); 

回答

1

我想你會使用一個Dictionary<int, string>而非List<KeyValuePair<int, string>>。然後,您可以使用.Item屬性或.TryGetValue方法來執行查找。

0

您可以簡單地使用Dictionary<int, string>Add()Remove()方法來添加/刪除項目,ContainsKey(int_key)檢查其持有INT關鍵dictionary[int_key]獲取其字符串值

Dictionary<int, string> dictProps = new Dictionary<int, string>(); 
... 
dictProps.ContainsKey(int_key) 
... 
string val = dictProps[int_key]; 
+0

獲取了無效的參數當我編寫if(descr.containskey(data.propval).....做到這一點 – LewSim

+0

是的,我把你的建議,並改爲字典 – LewSim

+0

'data.propval'此時有什麼價值?它必須是整數爲這本詞典。 – Coder