<分区>
我最近在学习 C#,具有很强的 C++ 背景,鉴于我对 C++ 的理解和经验,我对 C# 有一些不太了解的地方。
在C++中,人们确实非常关心统一性,否则不可能使用模板元编程编写通用代码。然而,在 C# 中,人们似乎不太关心一致性。例如,虽然数组类型有一个 Length
属性(property),List<T>
使用 Count
.同时 IndexOf
, LastIndexOf
,与数组类型类似的是静态方法,它们对应于 List<T>
不是。这给我的印象是,C# 并没有统一,而是在努力做到不统一。这对我来说没有意义。由于 C# 不支持模板元编程,因此一致性不如在 C++ 中那么重要。但是,保持统一在许多其他方面仍然是有益的。例如,人类更容易学习和掌握。当事物高度统一时,你掌握了一个,你就掌握了一切。请注意,我不是 C++ 狂热者,也不是顽固分子。我只是不太明白。