首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >"To“vs "As”vs "Get“方法前缀

"To“vs "As”vs "Get“方法前缀
EN

Stack Overflow用户
提问于 2012-12-14 04:22:08
回答 3查看 562关注 0票数 19

有谁知道什么时候使用" to“前缀(myVariable.ToList())、"As”前缀(myVariable.AsEnumerable())或"Get“前缀(myVariable.GetHashCode())的命名约定规则/指南?

EN

回答 3

Stack Overflow用户

发布于 2012-12-14 04:53:42

我的理解/惯例:

"To“执行转换;根据源中固有的数据,在内存中创建一个新对象。

"As“执行强制转换;传入的相同引用在不同类型的”掩码“后面返回。

"Get“执行的几乎所有其他内容都是接受源代码,并且其主要产品是转换后的结果。Get可以执行计算、返回子对象、从存储中检索数据、从默认状态实例化对象等。不是所有这样的方法都必须命名为"Get",但大多数旨在计算、实例化、投影或以其他方式转换,然后返回产品作为其主要用途的方法都是"getters“。

票数 3
EN

Stack Overflow用户

发布于 2012-12-14 04:26:10

如果您在数据库上使用实体框架进行CRUD操作,那么使用.ToList()将立即执行您的查询,而不是使用AsEnumerable(),后者将使用延迟执行,直到您实际尝试访问记录。

这是我一开始就想到的。

票数 0
EN

Stack Overflow用户

发布于 2012-12-14 04:40:19

我想说的是,ToAs之间的差异更像是classinterface之间的差异

也就是说,当你真的想要返回实现接口的东西时,你会说AsEnumerable

对立面上的ToList返回表示当前对象当前状态的新对象,即ToDictionary只是表示相同数据的另一种方式。

第三,Get方法返回对象的一些属性,或者关于它的状态的一部分,而不是整个状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13867829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档