함수의 키로 사전 값을 얻는 방법
내 함수 코드는 이것 (그리고 내가 시도했지만 작동하지 않는 명령) :
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"];
}

