使用object vs Object声明对象集合

时间:2011-12-02 18:48:13

标签: c# object collections declaration

  

可能重复:
  String vs string in C#

我有一个简单的场景,我将网格绑定到将存储在列表中的对象集合。我想知道的问题是声明对象列表的最佳做法是什么?

IList<object> myCollection;

IList<Object> myCollection;

我已经阅读了一些代码标准文章,并且很多人建议使用String vs string,所以我想知道这里是否适用相同的规则以及为什么?两种方法(如果有的话)有什么不同,以及以一种方式与另一种方式相比,有什么样的性能提升。

此网格是自定义控件的一部分,其中列表作为将绑定到网格的属性公开。

4 个答案:

答案 0 :(得分:5)

  • 没有语义差异。
  • 根本没有性能差异。
  • stringobject都是C#语言的关键字,分别解析为System.StringSystem.Object类。

使用object而不是Object理论优势在于您降低了对基类库的依赖性。但是,由于BCL是.NET Framework的核心部分,因此实用“优势”在简单情况下避免使用using System;。这种“优势”是恕我直言的争议。

答案 1 :(得分:3)

没有区别,小写对象是Object类的别名,因为小写字符串是String类的别名,Int32等的int。

已经以最好的方式回答:

String vs string in C#

答案 2 :(得分:3)

两者在运行时没有区别(它们编译为相同的IL)。

唯一的区别是你按下shift键并且有一个using System;

答案 3 :(得分:1)

在内部,它们被视为相同,因此性能或功能没有区别,这只是一个偏好问题。我实际上喜欢使用string而不是String,因为字符串的行为不像对象,所以我喜欢它们看起来不同(当然int而不是Int32)。< / p>

我无法为自己辩护的奇怪之处在于我也喜欢使用object,即使对象表现为对象。