猿教程 Logo

C#数据类型

在上一节中,我们已经看到一个变量必须用数据类型声明,因为C#是一个强类型语言。 例如,

string message =“Hello World !!”;

string是一个数据类型,message是一个变量,而“Hello World !!” 是分配给变量 - message的字符串值。

数据类型告诉C#编译器变量可以保存什么样的值。 C#包括许多针对不同种类数据的内置数据类型,例如String,number,float,decimal等。

class Program
{
    static void Main(string[] args)
    {
        string stringVar = "Hello World!!";
        int intVar = 100;
        float floatVar = 10.2f;
        char charVar = 'A';
        bool boolVar = true;
    }
}

每种数据类型包括特定的值范围。 例如,int数据类型的变量可以具有-2,147,483,648到2,147,483,647之间的任何值。 同样的方式,bool数据类型只能有两个值 - true或false。 下表列出了C#中可用的数据类型以及每种数据类型可能的值范围:


.NET TypeRange (values)
Byte0 to 255
SByte-128 to 127
Int32-2,147,483,648 to 2,147,483,647
UInt320 to 4294967295
Int16-32,768 to 32,767
UInt160 to 65,535
Int64-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
UInt640 to 18,446,744,073,709,551,615
Single-3.402823e38 to 3.402823e38
Double-1.79769313486232e308 to 1.79769313486232e308
CharUnicode symbols used in text
BooleanTrue or False
Object
String

Decimal(+ or -)1.0 x 10e-28 to 7.9 x 10e28
DateTime0:00:00am 1/1/01 to 11:59:59pm 12/31/9999

从上表中可以看出,每个数据类型(字符串和对象除外)都包含值范围。 如果值超出数据类型的允许范围,编译器将给出错误。 例如,int数据类型的范围是-2,147,483,648到2,147,483,647。 所以如果你分配的值不在这个范围,那么编译器会给出错误。

编译时异常案例:

// compile time error: Cannot implicitly convert type 'long' to 'int'.
int i = 21474836470;

类型别名 VS .NET 类型

在上面的数据类型表中,第一列是数据类型别名,第二列是实际的.Net类型名称。 例如,int是Int32的别名(或短名称)。 Int32是在System命名空间中定义的结构。 同样的,字符串表示String类。

AliasType Name.Net Type
byteSystem.Bytestruct
sbyteSystem.SBytestruct
intSystem.Int32struct
uintSystem.UInt32struct
shortSystem.Int16struct
ushortSystem.UInt16struct
longSystem.Int64struct
ulongSystem.UInt64struct
floatSystem.Singlestruct
doubleSystem.Doublestruct
charSystem.Charstruct
boolSystem.Booleanstruct
objectSystem.ObjectClass
stringSystem.StringClass
decimalSystem.Decimalstruct
DateTimeSystem.DateTimestruct

根据特定类型的变量是否存储其自己的数据或指向存储器中的数据的指针,将数据类型进一步分类为值类型或引用类型。

在下一部分中我们将了解值类型和引用类型的变量。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/Csharp-data-types.html