欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文搞懂C# 數(shù)據(jù)類型

 更新時(shí)間:2020年07月18日 14:52:10   作者:菜鳥教程  
這篇文章主要介紹C# 數(shù)據(jù)類型的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

在 C# 中,變量分為以下幾種類型:

  • 值類型(Value types)
  • 引用類型(Reference types)
  • 指針類型(Pointer types)

值類型(Value types)

值類型變量可以直接分配給一個(gè)值。它們是從類 System.ValueType 中派生的。

值類型直接包含數(shù)據(jù)。比如 int、char、float,它們分別存儲(chǔ)數(shù)字、字符、浮點(diǎn)數(shù)。當(dāng)您聲明一個(gè) int 類型時(shí),系統(tǒng)分配內(nèi)存來(lái)存儲(chǔ)值。

下表列出了 C# 2010 中可用的值類型:

類型 描述 范圍 默認(rèn)值
bool 布爾值 True 或 False False
byte 8 位無(wú)符號(hào)整數(shù) 0 到 255 0
char 16 位 Unicode 字符 U +0000 到 U +ffff '\0'
decimal 128 位精確的十進(jìn)制值,28-29 有效位數(shù) (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M
double 64 位雙精度浮點(diǎn)型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D
float 32 位單精度浮點(diǎn)型 -3.4 x 1038 到 + 3.4 x 1038 0.0F
int 32 位有符號(hào)整數(shù)類型 -2,147,483,648 到 2,147,483,647 0
long 64 位有符號(hào)整數(shù)類型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
sbyte 8 位有符號(hào)整數(shù)類型 -128 到 127 0
short 16 位有符號(hào)整數(shù)類型 -32,768 到 32,767 0
uint 32 位無(wú)符號(hào)整數(shù)類型 0 到 4,294,967,295 0
ulong 64 位無(wú)符號(hào)整數(shù)類型 0 到 18,446,744,073,709,551,615 0
ushort 16 位無(wú)符號(hào)整數(shù)類型 0 到 65,535 0

如需得到一個(gè)類型或一個(gè)變量在特定平臺(tái)上的準(zhǔn)確尺寸,可以使用 sizeof 方法。表達(dá)式 sizeof(type) 產(chǎn)生以字節(jié)為單位存儲(chǔ)對(duì)象或類型的存儲(chǔ)尺寸。下面舉例獲取任何機(jī)器上 int 類型的存儲(chǔ)尺寸:

using System;

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

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

Size of int: 4

引用類型(Reference types)

引用類型不包含存儲(chǔ)在變量中的實(shí)際數(shù)據(jù),但它們包含對(duì)變量的引用。

換句話說(shuō),它們指的是一個(gè)內(nèi)存位置。使用多個(gè)變量時(shí),引用類型可以指向一個(gè)內(nèi)存位置。如果內(nèi)存位置的數(shù)據(jù)是由一個(gè)變量改變的,其他變量會(huì)自動(dòng)反映這種值的變化。內(nèi)置的 引用類型有:object、dynamic 和 string。

對(duì)象(Object)類型

對(duì)象(Object)類型 是 C# 通用類型系統(tǒng)(Common Type System - CTS)中所有數(shù)據(jù)類型的終極基類。Object 是 System.Object 類的別名。所以對(duì)象(Object)類型可以被分配任何其他類型(值類型、引用類型、預(yù)定義類型或用戶自定義類型)的值。但是,在分配值之前,需要先進(jìn)行類型轉(zhuǎn)換。

當(dāng)一個(gè)值類型轉(zhuǎn)換為對(duì)象類型時(shí),則被稱為 裝箱;另一方面,當(dāng)一個(gè)對(duì)象類型轉(zhuǎn)換為值類型時(shí),則被稱為 拆箱。

object obj;
obj = 100; // 這是裝箱

動(dòng)態(tài)(Dynamic)類型

您可以存儲(chǔ)任何類型的值在動(dòng)態(tài)數(shù)據(jù)類型變量中。這些變量的類型檢查是在運(yùn)行時(shí)發(fā)生的。

聲明動(dòng)態(tài)類型的語(yǔ)法:

dynamic <variable_name> = value;

例如:

dynamic d = 20;

動(dòng)態(tài)類型與對(duì)象類型相似,但是對(duì)象類型變量的類型檢查是在編譯時(shí)發(fā)生的,而動(dòng)態(tài)類型變量的類型檢查是在運(yùn)行時(shí)發(fā)生的。

字符串(String)類型

字符串(String)類型 允許您給變量分配任何字符串值。字符串(String)類型是 System.String 類的別名。它是從對(duì)象(Object)類型派生的。字符串(String)類型的值可以通過(guò)兩種形式進(jìn)行分配:引號(hào)和 @引號(hào)。

例如:

String str = "runoob.com";

一個(gè) @引號(hào)字符串:

@"runoob.com";

C# string 字符串的前面可以加 @(稱作"逐字字符串")將轉(zhuǎn)義字符(\)當(dāng)作普通字符對(duì)待,比如:

string str = @"C:\Windows";

等價(jià)于:

string str = "C:\\Windows";

@ 字符串中可以任意換行,換行符及縮進(jìn)空格都計(jì)算在字符串長(zhǎng)度之內(nèi)。

string str = @"<script type=""text/javascript"">
    <!--
    -->
</script>";

用戶自定義引用類型有:class、interface 或 delegate。我們將在以后的章節(jié)中討論這些類型。

指針類型(Pointer types)

指針類型變量存儲(chǔ)另一種類型的內(nèi)存地址。C# 中的指針與 C 或 C++ 中的指針有相同的功能。

聲明指針類型的語(yǔ)法:

type* identifier;

例如:

char* cptr;
int* iptr;

以上就是一文搞懂C# 數(shù)據(jù)類型的詳細(xì)內(nèi)容,更多關(guān)于C# 數(shù)據(jù)類型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用c#在word文檔中創(chuàng)建表格的方法詳解

    使用c#在word文檔中創(chuàng)建表格的方法詳解

    本篇文章是對(duì)使用c#在word文檔中創(chuàng)建表格的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#多線程系列之讀寫鎖

    C#多線程系列之讀寫鎖

    本文詳細(xì)講解了C#多線程的讀寫鎖,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C#獲取計(jì)算機(jī)硬件與操作系統(tǒng)的相關(guān)信息

    C#獲取計(jì)算機(jī)硬件與操作系統(tǒng)的相關(guān)信息

    這篇文章介紹了C#獲取計(jì)算機(jī)硬件與操作系統(tǒng)相關(guān)信息的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#實(shí)現(xiàn)遞歸調(diào)用的Lambda表達(dá)式

    C#實(shí)現(xiàn)遞歸調(diào)用的Lambda表達(dá)式

    這篇文章介紹了C#實(shí)現(xiàn)遞歸調(diào)用的Lambda表達(dá)式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 輕松學(xué)習(xí)C#的密封類

    輕松學(xué)習(xí)C#的密封類

    輕松學(xué)習(xí)C#的密封類,對(duì)C#的密封類感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的密封類
    2015-11-11
  • C#驗(yàn)證給定字符串是否為數(shù)字的方法

    C#驗(yàn)證給定字符串是否為數(shù)字的方法

    這篇文章主要介紹了C#驗(yàn)證給定字符串是否為數(shù)字的方法,實(shí)例分析了C#進(jìn)行字符串操作的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C#記一次http協(xié)議multipart/form-data的boundary問(wèn)題

    C#記一次http協(xié)議multipart/form-data的boundary問(wèn)題

    這篇文章主要介紹了C#記一次http協(xié)議multipart/form-data的boundary問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 基于C#實(shí)現(xiàn)簡(jiǎn)單的二維碼和條形碼的生成工具

    基于C#實(shí)現(xiàn)簡(jiǎn)單的二維碼和條形碼的生成工具

    這篇文章主要為大家詳細(xì)介紹了如何基于C#實(shí)現(xiàn)簡(jiǎn)單的二維碼和條形碼工具,用于二維碼條形碼的生成與識(shí)別,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • 淺析C#中的Main(String[] args)參數(shù)輸入問(wèn)題

    淺析C#中的Main(String[] args)參數(shù)輸入問(wèn)題

    本篇文章主要是對(duì)C#中的Main(String[] args)參數(shù)輸入問(wèn)題進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • 使用SmtpClient發(fā)送郵件的方法

    使用SmtpClient發(fā)送郵件的方法

    本來(lái)想試試用SmtpClient來(lái)做一個(gè)簡(jiǎn)單的發(fā)送郵件的Demo程序。卻不想在中途遇上了意料之外的事情,使得這次試驗(yàn)過(guò)程變得有些曲折。
    2013-03-03

最新評(píng)論