cos*_*ari 4 c# boxing dictionary object
我试图从对象字典中提取一个对象,并返回所述对象但是我对类型有一点问题.有问题的类看起来像这样,我想知道如何返回实际对象而不是变量(我假设默认情况下是一个字符串).
public Object GetObject(string foo){
if(someDict.ContainsKey(foo))
{
var pulledObject = someDict[foo];
}
return pulledObject;
}
Run Code Online (Sandbox Code Playgroud)
我以为拳击是需要的,就像
object pulledObject = someDict[foo];
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,任何可以指出我正确方向的建议.
你并没有真正说出什么不起作用,但你走在正确的轨道上.尝试这样的事情:
public Object GetObject(string foo){
if (someDict.ContainsKey(foo))
return someDict[foo];
return null;
}
Run Code Online (Sandbox Code Playgroud)
我怀疑你的问题是你得到的编译错误pulledObject是在子范围内.
更新:正如Jon Skeet指出的那样,使用TryGetValue会更好,因此您不会执行两次查找(一次执行ContainsKey时,再次使用indexer []时).所以,更好的解决方案是:
public Object GetObject(string foo){
object pulledObject = null;
someDict.TryGetValue(foo, out pulledObject);
return pulledObject;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17446 次 |
| 最近记录: |