最佳重载方法匹配有一些无效参数

Posted

技术标签:

【中文标题】最佳重载方法匹配有一些无效参数【英文标题】:The best overloaded method match has some invalid arguments 【发布时间】:2012-04-14 23:50:49 【问题描述】:

由于某种原因,我无法让 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

谁能告诉我我的代码有什么问题?

【问题讨论】:

看起来 value 不是字符串类型的变量。我们看不到它。 【参考方案1】:

创建字典后添加这一行:

String value = "";

【讨论】:

【参考方案2】:

问题似乎在于value 没有正确输入到string。这是您会收到该特定错误的唯一原因。您需要将值的类型更改为string 或声明string 类型的新变量以在TryGetValue 中使用

【讨论】:

【参考方案3】:

可能是这样的:

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

【讨论】:

以上是关于最佳重载方法匹配有一些无效参数的主要内容,如果未能解决你的问题,请参考以下文章

最佳重载方法匹配...有一些无效参数

C# 匹配的最佳重载方法...有一些无效参数

最佳重载方法匹配有一些无效参数 C#

需要帮助 'string.endswith(string)' 的最佳重载方法匹配有一些无效参数

错误:“最佳重载方法匹配”和“参数 1:无法从 'string' 转换为 'int'”

说出几条 Java 中方法重载的最佳实践?