【发布时间】:2010-07-03 20:45:46
【问题描述】:
.NET框架中ToXXXX转换方法和AsXXXX转换方法在语义上有区别吗?
此类方法的示例是Object.ToString 和Enumerable.AsEnumerable<T>。
【问题讨论】:
标签: .net type-conversion naming-conventions
.NET框架中ToXXXX转换方法和AsXXXX转换方法在语义上有区别吗?
此类方法的示例是Object.ToString 和Enumerable.AsEnumerable<T>。
【问题讨论】:
标签: .net type-conversion naming-conventions
如果方法返回相同的实例但转换为另一种类型,请使用 AsXXX 方法。 如果方法使用对象数据构造不相关类型的新实例,请使用 ToXXX 方法。
【讨论】:
x.AsY() 和 x.ToY() 之间进行选择的是,对于前者,对 x 或 x.AsY() 返回的对象的修改可能会影响另一个,而对于 @987654325 @,原始对象和派生对象都可以相互独立修改。