【发布时间】:2013-06-09 07:47:20
【问题描述】:
我有一个方法:
public void MyMethod(params KeyValuePair<string, string>[] properties);
我像这样调用:
MyMethod(
new KeyValuePair("Name","Jack"),
new KeyValuePair("City", "New York"),
new KeyValuePair("Gender", "Male"),
);
我更喜欢更漂亮的语法来调用该方法,类似于:
MyMethod({"Name","Jack"}, {"City","New York"}, {"Gender","Male"});
我最接近的方法是使用更改方法签名以接受字典作为方法参数并调用:
MyMethod(new Dictionary<string,string>()
{
{"Name", "Jack"},
{"City", "New York"},
{"Gender", "Male"},
};
还有其他选择吗?
【问题讨论】:
-
Dictionary<string, string>在我看来是最好的方法。 -
您在寻找比字典方法更简洁的方法吗? (我认为这比使用键/值对列表更干净,除非您希望能够使用重复的属性。)
-
我不喜欢 new Dictionary
() 噪音...我想我可以将字典初始化移到方法调用之外。只是想知道我是否错过了什么...... -
对我来说,这似乎是非常小的噪音。您可以使用更短的名称创建自己的类,该名称由
Dictionary<string, string>支持,但 just 有一个Add(string, string)方法(然后是获取它们的方法),这将变成new Dictionary<string, string>进入new Properties...