我目前有这种减速方式:
var myDictionary = new Dictionary<string, List<Tuple<string, DateTime>>>();
问题是输入时间过长:
public static Dictionary<string, List<Tuple<string, DateTime>>> getDictionaryDifferences(Dictionary<string, List<Tuple<string, DateTime>>> d1, Dictionary<string, List<Tuple<string, DateTime>>> d2)
如何将此类型或类型设置为需要定义构造函数的类?我怎么能缩短这种表示法?
答案 0 :(得分:4)
另一个选项是文件顶部的using alias directive
using SpecialDictionary = Dictionary<string, List<Tuple<string, DateTime>>>;
然后你可以做
var dictionary = new SpecialDictionary();
和
public static SpecialDictionary getDictionaryDifferences(
SpecialDictionary d1,
SpecialDictionary d2)
答案 1 :(得分:2)
这样的事情怎么样?
public class MyClass : Dictionary<string, List<Tuple<string, DateTime>>>
{}
然后:
var myDictionary = new MyClass();
public static MyClass getDictionaryDifferences(MyClass d1, MyClass d2)
答案 2 :(得分:1)
如果你没有太多“绑定”单个元组的结构,你可以使用泛型并使你的方法适用于其他类型的列表的字典:
public static Dictionary<K,List<V>> GetDictionaryDifferences<K,V>(
IDictionary<K,List<V>> d1
, IDictionary<K,List<V>> d2
) {
...
}
这可以让你实现一次算法,而不需要字典键成为字符串,并且不知道V
是某种Tuple<,>
。