C#數據類型

數據類型指定變量可以存儲的數據的類型,如:整數,浮點,字符等。

C#數據類型

C# 語言中有3種類型的數據類型。如下表中所示 -

類型

數據類型

值數據類型

int, char, float, Boolean

引用數據類型

字符串,類,對象和接口

指針數據類型

指針

值數據類型

值數據類型是基於整數和基於浮點數。 C# 語言支持有符號和無符號文字值。

C# 語言中有兩種類型的值數據類型。

  • 預定義的數據類型 - 如整型,布爾型,浮點型等
  • 用戶定義的數據類型 - 如結構,枚舉等

數據類型的內存大小可能會根據32位或64位操作系統而不同。我們來看看值數據類型。它的大小根據32位操作系統給出。

數據類型

內存大小

範圍

char

1 byte

-128 to 127

signed char

1 byte

-128 to 127

unsigned char

1 byte

0 to 127

short

2 byte

-32,768 to 32,767

signed short

2 byte

-32,768 to 32,767

unsigned short

2 byte

0 to 32,767

int

2 byte

-32,768 to 32,767

signed int

2 byte

-32,768 to 32,767

unsigned int

2 byte

0 to 32,767

short int

2 byte

-32,768 to 32,767

signed short int

2 byte

-32,768 to 32,767

unsigned short int

2 byte

0 to 32,767

long int

4 byte

signed long int

4 byte

unsigned long int

4 byte

float

4 byte

double

8 byte

long double

10 byte

-

要在特定平臺上獲取類型或變量的確切大小,可以使用sizeof方法。 表達式sizeof(type)產生對象或類型的存儲大小(以字節爲單位)。以下是在任何機器上獲取double類型的大小的示例:

using System;
namespace DataTypeApplication
{
   class Program 
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Size of double: {0}", sizeof(double));
         Console.ReadLine();
      }
   }
}

當編譯和執行上述代碼時,會產生以下結果:

Size of double: 8

引用數據類型

引用數據類型不包含存儲在變量中的實際數據,但它們包含對變量的引用。如果一個變量的數據值被更改,則這個變量將自動反映該值的變化。

C# 語言中有兩種類型的引用數據類型。

  • 預定義類型 - 如對象,字符串。
  • 用戶定義的類型 - 如類,接口。

內置引用類型的示例有:objectdynamicstring

對象類型
對象類型是 C# 通用類型系統(CTS)中所有數據類型的最終基類。

當一個值類型轉換爲對象類型時,它被稱爲裝箱,另一方面,當對象類型轉換爲值類型時,稱爲拆箱。

object obj;
obj = 100; // this is boxing

動態類型

可以在動態數據類型變量中存儲任何類型的值。這些類型的變量的類型檢查在運行時進行。
聲明動態類型的語法是:

dynamic <variable_name> = value;

例如,

dynamic d = 20;

字符串類型

字符串類型允許爲變量分配任何字符串值。String類型是System.String類的別名。 它是從Object類型派生的。可以使用兩種形式的字符串文字來分配字符串類型的值:quoted[@quoted](https://github.com/quoted "@quoted")

示例

String str = "Yiibai Point";

[@quoted](https://github.com/quoted "@quoted")字符串文字如下所示:

String str = "Yiibai Point";

指針數據類型

C# 語言中的指針是變量,也稱爲定位符或指示符,指向值的地址。

C#數據類型

指針中使用的符號

符號

名稱

說明

&

地址運算符

獲取變量的地址

*

間接運算符

訪問地址的值

聲明一個指針

C# 語言中的指針可以使用*(星號符號)聲明。

int * a;  //pointer to int      
char * c; //pointer to char