可能重复:
String vs string in C#
我有一个简单的场景,我将网格绑定到将存储在列表中的对象集合。我想知道的问题是声明对象列表的最佳做法是什么?
IList<object> myCollection;
或
IList<Object> myCollection;
我已经阅读了一些代码标准文章,并且很多人建议使用String vs string,所以我想知道这里是否适用相同的规则以及为什么?两种方法(如果有的话)有什么不同,以及以一种方式与另一种方式相比,有什么样的性能提升。
此网格是自定义控件的一部分,其中列表作为将绑定到网格的属性公开。
答案 0 :(得分:5)
string
和object
都是C#语言的关键字,分别解析为System.String
和System.Object
类。使用object
而不是Object
的理论优势在于您降低了对基类库的依赖性。但是,由于BCL是.NET Framework的核心部分,因此实用“优势”在简单情况下避免使用using System;
。这种“优势”是恕我直言的争议。
答案 1 :(得分:3)
答案 2 :(得分:3)
两者在运行时没有区别(它们编译为相同的IL)。
唯一的区别是你按下shift键并且有一个using System;
。
答案 3 :(得分:1)
在内部,它们被视为相同,因此性能或功能没有区别,这只是一个偏好问题。我实际上喜欢使用string
而不是String
,因为字符串的行为不像对象,所以我喜欢它们看起来不同(当然int
而不是Int32
)。< / p>
我无法为自己辩护的奇怪之处在于我也喜欢使用object
,即使对象表现为对象。