10
.NET框架中的ToXXXX
转换方法和AsXXXX
转换方法之间是否存在任何语义差异?`ToXXXX`和`AsXXXX`转换方法有什么区别?
这种方法的例子是Object.ToString
和Enumerable.AsEnumerable<T>
。
.NET框架中的ToXXXX
转换方法和AsXXXX
转换方法之间是否存在任何语义差异?`ToXXXX`和`AsXXXX`转换方法有什么区别?
这种方法的例子是Object.ToString
和Enumerable.AsEnumerable<T>
。
如果方法返回相同的实例但转换为另一种类型,请使用AsXXX方法。 如果方法使用对象数据构造不相关类型的新实例,请使用ToXXX方法。
同样的事情已经在“Linq in Action”一书中提到过。 – matrix 2010-07-03 22:19:32
也有助于我在x.AsY()和x.ToY()之间进行选择的前提是对x或x.AsY()返回的对象的修改可能会影响另一个,而使用'x.ToY()'时,原始对象和派生对象可以彼此独立地进行修改。 – stakx 2014-06-24 07:55:28