c# – 动态,对象,Var
发布时间:2020-12-15 08:01:57 所属栏目:百科 来源:网络整理
导读:随着动态类型和.NET 4中的DLR的出现,我现在有3个选项来声明我称之为“开放”类型: var,局部隐式类型强调’what’而不是’how’, object,System.Object的别名,和 动态,禁用编译器检查,在运行时添加方法/属性 虽然那里有很多关于这些的文章,但我发现的并没有
随着动态类型和.NET 4中的DLR的出现,我现在有3个选项来声明我称之为“开放”类型:
> var,局部隐式类型强调’what’而不是’how’, 虽然那里有很多关于这些的文章,但我发现的并没有把它们放在一起,我不得不承认,它仍然有点模糊. 添加到这个LINQ,lambda表达式,匿名类型,反射……它变得更加不稳定. 我想看一些例子,也许是对比优势/劣势,帮助我巩固对这些概念的把握,并帮助我理解何时,何地以及如何在它们之间进行选择. 谢谢! 解决方法
>使用var来保持代码简短和可读性,或者使用匿名类型时:
var dict = new Dictionary<int,List<string>>(); var x = db.Person.Select(p => new { p.Name,p.Age }); >动态绑定有用或需要时使用动态.或者,当您需要根据对象的运行时类型决定调用哪个方法时. object m_lock = new object(); lock (m_lock) { // do something } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |