이 경우 열거 형을 사용하면 둥근 구멍에 정사각형 못을 끼워 넣으려고합니다. XML은 당신이하려는 일에 과잉이다.
대신 사전을 사용하십시오. 그런 식으로 직접 '키 => 값'관계가 있으며 값은 무엇이든 될 수 있습니다.
1-1 문자열 문자열 관계를 위해 이것을 사용 :
Dictionary<string, string> dictA = new Dictionary<string, string>();
dictA.Add("string1", "value1");
dictA.Add("string2", "value2");
dictA.Add("string3", "value3");
가 사전 사용의 모든 값에 액세스하려면이 :
foreach (KeyValuePair<string, string> item in dictA)
{
Console.WriteLine("Key: {0}; Value: {1};", item.Key, item.Value);
}
당신은 1 필요한 경우 2 1-3 또는 1-n 문자열 관계를 사용하십시오 :
Dictionary<string, List<string>> dictB = new Dictionary<string, List<string>>();
dictB.Add("string1", new List<string>() {"value1A", "value1B"});
dictB.Add("string2", new List<string>() {"value2A", "value2B"});
dictB.Add("string3", new List<string>() {"value3A", "value3B"});
당신이 지그재그 배열 관계의 사용이 필요한 경우
foreach (KeyValuePair<string, List<string>> item in dictB)
{
Console.WriteLine("Key: {0}; Values: {1}, {2};", item.Key, item.Value[0], item.Value[1]);
}
가 :
Dictionary<string, List<string>> dictB = new Dictionary<string, List<string>>();
dictB.Add("string1", new List<string>() {"value1A", "value1B, value1C"});
dictB.Add("string2", new List<string>() {"value2A", "value2B, value2C, value2D"});
dictB.Add("string3", new List<string>() {"value3A", "value3B"});
가 사전 사용의 모든 값에 액세스하려면
는 사전의 모든 값이를 사용하여 액세스하려면 이 :
foreach (KeyValuePair<string, List<string>> item in dictB)
{
string values = "";
int valLen = ((List<string>)item.Value).Count;
for (int i = 0; i < valLen; i++)
{
if (i == (valLen - 1))
{
values += item.Value[i] + "";
}
else
{
values += item.Value[i] + ", ";
}
}
Console.WriteLine("Key: {0}; Values: {1};", item.Key, values);
}
특정 키의 값을 얻으려면 다음과 같이하십시오.
string match = "string2";
if (dictD.ContainsKey(match))
{
Console.WriteLine("The value for Key='{0}' is: '{1}'", match, dictD[match]);
}
열거 형은 영광스러운 사전입니다. 그렇기 때문에 다른 많은 언어 (특히 동적 유형 언어)에서는 해당 언어를 볼 수 없습니다.
이상적인 것은 아니지만 아마도 이것이 가장 간단한 해결책 일 것입니다. – haymansfield