设置键/值对
本文关键字:值对 设置 | 更新日期: 2023-09-27 18:01:33
我已经创建了一个List作为类的属性,并希望在定义List时设置Key/Value对。我最初使用的是一个结构,但意识到它可能不是理想的解决方案,所以我把它改为List。问题是我的语法出现了错误。
有什么想法吗?
private List<KeyValuePair<String,String>> formData = new List<KeyValuePair<String, String>>[]
{
new KeyValuePair<String, String>("lsd",""),
new KeyValuePair<String, String>("charset", "")
};
可能我遗漏了什么,但我会使用字典而不是
这么简单。。。。
Dictionary<string, string>formData = new Dictionary<string, string>
{
{"lsd", "first"},
{"charset", "second"}
};
然后以以下方式使用:
foreach(KeyValuePair<string, string>k in formData)
{
Console.WriteLine(k.Key);
Console.WriteLine(k.Value);
}
....
if(formData.ContainsKey("lsd"))
Console.WriteLine("lsd is already in");
....
string v = formData["lsd"];
Console.WriteLine(v);
试试这个:
private List<KeyValuePair<String,String>> formData = new List<KeyValuePair<String, String>>
{
new KeyValuePair<String, String>("lsd",""),
new KeyValuePair<String, String>("charset", "")
};
你的定义中多了一个[]
。您没有创建数组,所以不需要它。此外,当使用某些值初始化列表时,这些值应该用逗号(,
(分隔。
在我看来,更好的方法是使用Tuple
类:
pirvate List<Tuple<string, string>> formData = new List<Tuple<string, string>>()
{
new Tuple<string, string>("lsd",""),
new Tuple<string, string>("charset", "")
};
将第三行的分号改为逗号,并删除第一行的方括号。
private List<KeyValuePair<String,String>> formData = new List<KeyValuePair<String, String>>
{
new KeyValuePair<String, String>("lsd",""),
new KeyValuePair<String, String>("charset", "")
};
顺便说一句,如果您将其更改为Dictionary,您就可以更容易地按关键字查找值。
从声明中删除[]
private List<KeyValuePair<String,String>> formData = new List<KeyValuePair<String, String>>()
{
new KeyValuePair<String, String>("lsd",""),
new KeyValuePair<String, String>("charset", "")
};
- 为什么
[]
在构造函数之后 - 集合初始值设定项中的项必须使用逗号分隔:
,
尝试
private List<KeyValuePair<String, String>> formData = new List<KeyValuePair<String, String>>
{
new KeyValuePair<String, String>("lsd",""),
new KeyValuePair<String, String>("charset", "")
};