如何从字典中获取单个字符串? C#
How can I get a single string out of the Dictionary? C#
我在使用词典时遇到了一些问题。我怎样才能从字典中取回值
我在词典中存储了一些数据
Dictionary<UserSettings.Languages, string> objectiveLanguages
= new Dictionary<UserSettings.Languages, string>();
objectiveLanguages.Add(UserSettings.Languages.English, objectiveNameEnglish);
objectiveLanguages.Add(UserSettings.Languages.German, objectiveNameGerman);
谁能解释一下,如何再次检索存储的值?
Console.WriteLine("For key UserSettings.Languages.English, value = {0}.",
objectiveLanguages[UserSettings.Languages.English]);
/* returns the value of this key, if present.
*/
请参阅 MSDN 文档 here 了解更多信息。
Dictionary<UserSettings.Languages, string> objectiveLanguages
= new Dictionary<UserSettings.Languages, string>();
objectiveLanguages.Add(UserSettings.Languages.English, objectiveNameEnglish);
objectiveLanguages.Add(UserSettings.Languages.German, objectiveNameGerman);
// get some value out of the dict
string dictContent = objectiveLanguages[UserSettings.Languages.English];
两个选项:
您知道该值将会存在。
string str = objectiveLanguages[UserSettings.Languages.English];
return str;
您不知道该值会出现,或者您想抛出自己的异常。
string str;
if(objectiveLanguages.TryGet(UserSettings.Languages.English, out str))
return str;
else
throw new ArgumentException(); // or return null, or whatever.
这两者之间的选择取决于具体情况。由于您正在处理枚举(或等效枚举),因此第一个可能就足够了。另一方面,如果用户正在输入数据,我可能会选择第二个。这与使用 int.Parse
与 int.TryParse
.
的决定类似
使用方括号,里面有一个键。例如:
// returns objectiveNameEnglish
var retrievedValue = objectiveLanguages[UserSettings.Languages.English];
对于您添加的每一对,第一项是键,第二项是映射到它的值。 MSDN 有很好的例子 https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx
我在使用词典时遇到了一些问题。我怎样才能从字典中取回值
我在词典中存储了一些数据
Dictionary<UserSettings.Languages, string> objectiveLanguages
= new Dictionary<UserSettings.Languages, string>();
objectiveLanguages.Add(UserSettings.Languages.English, objectiveNameEnglish);
objectiveLanguages.Add(UserSettings.Languages.German, objectiveNameGerman);
谁能解释一下,如何再次检索存储的值?
Console.WriteLine("For key UserSettings.Languages.English, value = {0}.",
objectiveLanguages[UserSettings.Languages.English]);
/* returns the value of this key, if present.
*/
请参阅 MSDN 文档 here 了解更多信息。
Dictionary<UserSettings.Languages, string> objectiveLanguages
= new Dictionary<UserSettings.Languages, string>();
objectiveLanguages.Add(UserSettings.Languages.English, objectiveNameEnglish);
objectiveLanguages.Add(UserSettings.Languages.German, objectiveNameGerman);
// get some value out of the dict
string dictContent = objectiveLanguages[UserSettings.Languages.English];
两个选项:
您知道该值将会存在。
string str = objectiveLanguages[UserSettings.Languages.English]; return str;
您不知道该值会出现,或者您想抛出自己的异常。
string str; if(objectiveLanguages.TryGet(UserSettings.Languages.English, out str)) return str; else throw new ArgumentException(); // or return null, or whatever.
这两者之间的选择取决于具体情况。由于您正在处理枚举(或等效枚举),因此第一个可能就足够了。另一方面,如果用户正在输入数据,我可能会选择第二个。这与使用 int.Parse
与 int.TryParse
.
使用方括号,里面有一个键。例如:
// returns objectiveNameEnglish
var retrievedValue = objectiveLanguages[UserSettings.Languages.English];
对于您添加的每一对,第一项是键,第二项是映射到它的值。 MSDN 有很好的例子 https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx