함수의 키로 사전 값을 얻는 방법
내 함수 코드는 이것 (그리고 내가 시도했지만 작동하지 않는 명령) :
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
로 기능을
문자열 XMLFILE = Settings.XML의
답변
다음과 같이 간단합니다.
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
답변
사전에 키 이름을 사용하지 않는 이유는 다음과 같습니다.
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("UserID", "test");
string userIDFromDictionaryByKey = dict["UserID"];
팁 제안을 보면 :
답변
그것이 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
}
답변
Dictionary<String,String> d = new Dictionary<String,String>();
d.Add("1","Mahadev");
d.Add("2","Mahesh");
Console.WriteLine(d["1"]);// it will print Value of key '1'
답변
static void XML_Array(Dictionary<string, string> Data_Array)
{
String value;
if(Data_Array.TryGetValue("XML_File", out value))
{
... Do something here with value ...
}
}
답변
static String findFirstKeyByValue(Dictionary<string, string> Data_Array, String value)
{
if (Data_Array.ContainsValue(value))
{
foreach (String key in Data_Array.Keys)
{
if (Data_Array[key].Equals(value))
return key;
}
}
return null;
}
답변
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);
}
static void XML_Array(Dictionary<string, string> Data_Array)
{
String xmlfile = Data_Array["XML_File"];
}