2012-10-17 89 views

回答

1

这是因为C#定义了保留原始C风格的别名。

.NET Framework使用特定的命名约定:例如它声明一个类名应该以Capital开头。因此,如果文件中有using System;,则String(不是C#本机类型,而是System命名空间中定义的.NET类)实际上被称为System.String或简称String

C#将string定义为System.String的别名,以便代码在C和其他基于C的语言(C++,Java,...)中看起来像它。我认为它更具可读性。以相同的方式,intSystem.Int32相同。

0

string是类别System.String的别名。 System.Object的

  • 字符串:System.String
  • 布尔:System.Boolean
  • 字节:System.Byte
  • 为sbyte:系统别名

    • 对象的

      其他列表。 SByte

    • short:System.Int16
    • ushort:System.UInt16
    • INT:System.Int32
    • UINT:System.UInt32
    • 长:System.Int64
    • ULONG:
    • System.UInt64形式
    • 浮动:System.Single
    • 双:System.Double
    • 十进制:System.Decimal
    • 字符:System.Char

    感谢Jon Skeet为此。

  • 1

    void是不是像string。在C#中使用void的几乎所有情况下,编译器都会对其进行特殊处理,例如在void - “返回”方法中不要求return语句,并且不允许return语句的表达式带有“值“的类型voidtypeof(void)void实际上被视为常规类型的少数情况之一。它有两种方式:编译器可以假定任何非void的类型都不应得到void的特殊处理。允许使用其他方法来拼写void会使C#更复杂,并且没有理由不需要它。

    相关问题