
不过,我很好奇C#中使用类型推理的优缺点.我来自C,我知道C 0x的’auto’有一个更客观的好处,因为你并不总是知道你所获得的类型(特别是在做大量的模板编程时).一个例子是使用auto来存储Boost.Bind的值.
在C#中,类型推断似乎并不像要“有好”或“糖衣”功能那么多.我认为当你处理长类型时会很有用,例如:
Lazy<List<Mynamespace.ISomeVeryLongInterfaceType>> myVar = obj.GetLazy();
这将是:
var myVar = obj.GetLazy();
这在我看来更清洁然而,对于类型推理,OR有什么客观的论据?即使在有争议的情况下,它没有任何好处(例如使用’var’而不是’int’),使用它是很好的编程实践吗?
有些帮助了解我如何在日常编码中使用“var”将是巨大的.
解决方法 类型推断是为了为C给出的原因发明的,您可以创建不具有类型名称的匿名类型(特别是Lambdas和linq).所以在这种情况下是需要的.
在另一种情况下(当类型名称已知时),则归结为风格.当我使用var时,类型真的很明显:
// I like this - less duplication and easIEr to readvar item = new List<ComplexObjectItem>();
代替:
List<ComplexObjectItem> item = new List<ComplexObjectItem>();
因为它减少重复.
不过,我不喜欢使用它,当类型不是立即显而易见的读者:
// I don't like this - I need to look up what the type isvar item = ResultOfSomeFunctionWhereICantSeeWhatItIs();
但你的里程可能会有所不同.
总结以上是内存溢出为你收集整理的C#中类型推断有哪些优点和缺点?全部内容,希望文章能够帮你解决C#中类型推断有哪些优点和缺点?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)