有谁知道什么时候使用" to“前缀(myVariable.ToList()
)、"As”前缀(myVariable.AsEnumerable()
)或"Get“前缀(myVariable.GetHashCode()
)的命名约定规则/指南?
发布于 2012-12-14 04:53:42
我的理解/惯例:
"To“执行转换;根据源中固有的数据,在内存中创建一个新对象。
"As“执行强制转换;传入的相同引用在不同类型的”掩码“后面返回。
"Get“执行的几乎所有其他内容都是接受源代码,并且其主要产品是转换后的结果。Get可以执行计算、返回子对象、从存储中检索数据、从默认状态实例化对象等。不是所有这样的方法都必须命名为"Get",但大多数旨在计算、实例化、投影或以其他方式转换,然后返回产品作为其主要用途的方法都是"getters“。
发布于 2012-12-14 04:26:10
如果您在数据库上使用实体框架进行CRUD操作,那么使用.ToList()将立即执行您的查询,而不是使用AsEnumerable(),后者将使用延迟执行,直到您实际尝试访问记录。
这是我一开始就想到的。
发布于 2012-12-14 04:40:19
我想说的是,To
与As
之间的差异更像是class
与interface
之间的差异
也就是说,当你真的想要返回实现接口的东西时,你会说AsEnumerable
。
对立面上的ToList
返回表示当前对象当前状态的新对象,即ToDictionary
只是表示相同数据的另一种方式。
第三,Get
方法返回对象的一些属性,或者关于它的状态的一部分,而不是整个状态。
https://stackoverflow.com/questions/13867829
复制相似问题