首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >按键获取字典值

按键获取字典值
EN

Stack Overflow用户
提问于 2012-08-29 08:39:59
回答 10查看 803.6K关注 0票数 253

如何通过函数上的键获取字典的值?

我的函数代码(以及我尝试的命令不起作用):

代码语言:javascript
复制
static void XML_Array(Dictionary<string, string> Data_Array)
{
    String xmlfile = Data_Array.TryGetValue("XML_File", out value);
}

我的按钮代码:

代码语言:javascript
复制
private void button2_Click(object sender, EventArgs e)
{
    Dictionary<string, string> Data_Array = new Dictionary<string, string>();
    Data_Array.Add("XML_File", "Settings.xml");

    XML_Array(Data_Array);
}

我希望XML_Array函数中的变量是:

代码语言:javascript
复制
string xmlfile = "Settings.xml":
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-08-29 08:42:22

它就像这样简单:

代码语言:javascript
复制
String xmlfile = Data_Array["XML_File"];

请注意,如果字典没有等于"XML_File"的键,则该代码将抛出异常。如果你想先检查,你可以像这样使用TryGetValue:

代码语言:javascript
复制
string xmlfile;
if (!Data_Array.TryGetValue("XML_File", out xmlfile)) {
   // the key isn't in the dictionary.
   return; // or whatever you want to do
}
// xmlfile is now equal to the value
票数 355
EN

Stack Overflow用户

发布于 2016-09-29 14:42:18

只需使用字典上的密钥名称。C#具有以下特性:

代码语言:javascript
复制
 Dictionary<string, string> dict = new Dictionary<string, string>();
 dict.Add("UserID", "test");
 string userIDFromDictionaryByKey = dict["UserID"];

如果你看一下提示建议:

票数 110
EN

Stack Overflow用户

发布于 2012-08-29 08:42:43

这不是TryGetValue的工作方式。它根据是否找到键返回truefalse,如果键在那里,则将其out参数设置为相应值。

如果您想检查密钥是否在那里,并在它丢失时执行某些操作,则需要如下所示:

代码语言:javascript
复制
bool hasValue = Data_Array.TryGetValue("XML_File", out value);
if (hasValue) {
    xmlfile = value;
} else {
    // do something when the value is not there
}
票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12169443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档