.net:为什么在命名空间中使用int是不合法的?

时间:2011-01-08 10:56:36

标签: c# .net namespaces types

为什么命名空间中的“int”不合法? “int”是一种类型。对?就像“上课”一样。我知道它们之间存在差异,但有两种数据类型。

namespace Ikco.Crp.UI.Common
{
    public int i;
    ....
    ....
}

微软的想法是什么?

3 个答案:

答案 0 :(得分:12)

定义类和变量之间存在差异。将类放入命名空间时,可以定义新类型。在您的声明中,您没有定义新类型。而是使用现有类型(int)来定义变量。使用类的等价物将类似于

namespace Foo{
  class Bar{}   // type definition
  Bar the_bar;  // variable definition
}

也不允许使用第二个定义,因此类和int的行为确实相同:C#中没有全局变量。

答案 1 :(得分:4)

.NET中没有全局变量。我猜这就是主意。

答案 2 :(得分:3)

  

“int”是一种类型。对?就像“上课”一样。我知道它们之间存在差异,但有两种数据类型。

int是一种数据类型。 class是关键字。您使用的语法在命名空间内声明了一个变量,这是不允许的。