如何通过函数上的键获取字典的值?
我的函数代码(以及我尝试的命令不起作用):
static void XML_Array(Dictionary<string, string> Data_Array)
{
String xmlfile = Data_Array.TryGetValue("XML_File", out value);
}
我的按钮代码:
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
函数中的变量是:
string xmlfile = "Settings.xml":
发布于 2012-08-29 08:42:22
它就像这样简单:
String xmlfile = Data_Array["XML_File"];
请注意,如果字典没有等于"XML_File"
的键,则该代码将抛出异常。如果你想先检查,你可以像这样使用TryGetValue:
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
发布于 2016-09-29 14:42:18
只需使用字典上的密钥名称。C#具有以下特性:
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("UserID", "test");
string userIDFromDictionaryByKey = dict["UserID"];
如果你看一下提示建议:
发布于 2012-08-29 08:42:43
这不是TryGetValue
的工作方式。它根据是否找到键返回true
或false
,如果键在那里,则将其out
参数设置为相应值。
如果您想检查密钥是否在那里,并在它丢失时执行某些操作,则需要如下所示:
bool hasValue = Data_Array.TryGetValue("XML_File", out value);
if (hasValue) {
xmlfile = value;
} else {
// do something when the value is not there
}
https://stackoverflow.com/questions/12169443
复制相似问题