2012-11-21 119 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