ToReadOnlyCollection扩展方法使用快捷语句实现,如果它已经是 ReadOnlyCollection 的实例,则直接返回输入。 ToList扩展方法不是。
纯粹出于好奇,这是否有特殊原因,或者只是碰巧没有实现。我明白为什么保证 ToList
总是返回一个新实例可能很有用,但我很想知道是否还有其他原因。
最佳答案
只读集合无法修改,因此返回与 .ToReadOnlyCollection()
相同的实例是完全可以接受的。
如果 .ToList()
操作的结果有时返回一个新列表,有时不返回,您将不知道在更改输出列表时是否正在修改源列表。因此,出于这个原因,.ToList()
总是返回一个新实例。
关于c# - 如果输入已经是列表,ToList 不会快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28672920/