C# 有没有缩短此变量定义的方法?

C# 有没有缩短此变量定义的方法?,c#,dictionary,C#,Dictionary,我目前有这种类型的减速: var myDictionary = new Dictionary<string, List<Tuple<string, DateTime>>>(); var myDictionary=newdictionary(); 问题是输入的时间太长了: public static Dictionary<string, List<Tuple<string, DateTime>>> getDictionar

我目前有这种类型的减速:

var myDictionary = new Dictionary<string, List<Tuple<string, DateTime>>>();
var myDictionary=newdictionary();
问题是输入的时间太长了:

public static Dictionary<string, List<Tuple<string, DateTime>>> getDictionaryDifferences(Dictionary<string, List<Tuple<string, DateTime>>> d1, Dictionary<string, List<Tuple<string, DateTime>>> d2)
公共静态字典getDictionaryDifferences(字典d1、字典d2)

如何使它成为需要定义构造函数的类以外的类型?我怎样才能缩短这个符号呢?

像这样的东西怎么样

public class MyClass : Dictionary<string, List<Tuple<string, DateTime>>>
{}
如果您不太依赖于单个元组的结构,则可以使用泛型并使您的方法适用于其他类型列表的字典:

public static Dictionary<K,List<V>> GetDictionaryDifferences<K,V>(
    IDictionary<K,List<V>> d1
,   IDictionary<K,List<V>> d2
) {
    ...
}
公共静态字典GetDictionaryDifferences(
词典d1
,IDictionary d2
) {
...
}
这将允许您实现一次算法,而不需要将字典键设置为字符串,也不需要知道
V
是某种
元组。

另一个选项是文件顶部的a

using SpecialDictionary = Dictionary<string, List<Tuple<string, DateTime>>>;


为什么是“非课堂”?你可以用你自己的类来覆盖字典,特别是那种类型的字典。。。我想要短而干净的。所以我可以说我的字典。。。有点像C中的结构。现在更大的问题是理解这个变量是什么,以及应该如何使用它。我喜欢元组,它们有一个位置,但是它们和其他松散/实用类型太多了,并且越来越难以遵循/维护。是的,所以你可以通过定义一个位置的内容并记录值来处理它。。。理想情况下,您希望拥有一个类并命名所有值,但在处理两个不同的信息源时,这会变得很困难。例如,我的数据库中有对象,应用程序中有对象,它们的模型不一样。。。所以我可以为这两个创建另一个类。。我不能换型号。。遗留软件的生命..确切地说。。。不需要重写一堆东西。你不必重写任何东西,谢谢!再好不过了这肯定有它的位置!我的类型比我描述的要具体一些,但我会记住这一点。谢谢你,你知道与定义一个类相比,这个方法的优点和缺点吗?我想说的是,主要的缺点是你必须将using指令放在你想使用它的所有文件中。继承类的缺点是你的代码不能再与基字典类或任何其他类一起工作除非定义显式强制转换,否则将从中继承的潜在类。
using SpecialDictionary = Dictionary<string, List<Tuple<string, DateTime>>>;
var dictionary = new SpecialDictionary();
public static SpecialDictionary getDictionaryDifferences(
    SpecialDictionary d1, 
    SpecialDictionary d2)