字典 我如何在短名称中使用它
本文关键字:T1 T2 字典 | 更新日期: 2023-09-27 18:34:05
我正在使用一个名为Dictionary<MyProperty, string>
的字典在我的所有源代码中使用。
我想把名字改成更短的名字,有同样的效果,因为Dictionary<MyProperty, string>
有点太长了。
我的意思是:改变
Dictionary<MyProperty, string> mydic = new Dictionary<MyProperty, string>();
到
MyDic mydic = new MyDic();
我想像字典一样使用它,比如
mydic[myProperty] = "somestring";
我如何实现这一点?
我试过了
public class MyDic : Dictionary<MyProperty, string>
{
}
但它不起作用,还是我应该添加一些东西?
可以在
C# 中使用类型别名。 如果可能的话,还可以考虑使用 var
而不是全名
using MyDic = System.Collections.Generic.Dictionary<MyProperty, string>;
稍后实例化一个变量,例如
MyDic mydic = new MyDic(); // or var mydic = new MyDic()
您可以在此处阅读更多内容
还可以使用继承来重命名类型,就像以前所做的那样
public class MyDic : Dictionary<MyProperty, string> { }
使用继承来执行别名存在需要重新定义相关构造函数的问题。由于在任何地方都这样做很快就会变得不合理,因此为了保持一致性,最好避免这样做。
最后。请不要这样做。当人们看到此代码时
var MyDic = new Dictionary<MyProperty, string>;
他们立即明白这是一本以MyProperty
为键的string
词典。
但是当他们看到:
var MyDic = new MyDic();
他们必须去看看MyDic
是什么!一个程序员节省打字很可能是下一个程序员的维护噩梦,编写可读的代码是个好主意。
它
对我
有用我刚刚测试
你的意思是它不起作用?
TestCast tc3 = new TestCast(5757);
MyDic myDic = new MyDic();
myDic.Add(tc3, "string");
myDic[tc3] = "string2";
public class MyDic : Dictionary<MyProperty, string>
{
}
就个人而言,除非您要覆盖,否则只需使用
Dictionary<MyProperty, string> mydic = new Dictionary<MyProperty, string>();
所以几个按键。 这只是一行,不言自明。