2012-03-31 72 views
9

我不能得到TryGetValue工作出於某種原因。最好的重載方法匹配有一些無效的參數

Dictionary<String,String> testdict = new Dictionary<String,String>(); 
String teststr = "test"; 
if(testdict.TryGetValue(teststr,out value)) 
{ 
    //Ladida 
} 

錯誤接收:

The best overloaded method match for 'System.Collections.Generic.Dictionary<string,string>.TryGetValue(string, out string)' has some invalid arguments 

誰能告訴我什麼是錯我的代碼?

+2

哪裏定義了「value」? – 2012-03-31 16:03:47

+3

看起來像* value *不是字符串類型的變量。我們看不到它。 – 2012-03-31 16:04:44

回答

8

使用創建字典之後添加此行:

String value = ""; 
+0

這樣做了,謝謝! – natli 2012-03-31 16:09:50

2

看起來問題是value沒有正確輸入到string。這是你會得到那個特定錯誤的唯一原因。你需要的值類型更改爲string或聲明string類型的新變量TryGetValue

0

也許是這樣的:

Dictionary<String,String> testdict = new Dictionary<String,String>(); 
string theValueYouAreTryingFor = "test"; 
string theValueYourGetting; 
if(testdict.TryGetValue(theValueYouAreTryingFor,out theValueYourGetting)) 
{ 
    //If the value is in the Dictionary 
} 
相關問題