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

c#數(shù)據(jù)類型基礎(chǔ)

 更新時(shí)間:2008年08月16日 21:58:19   作者:  
C#里面的數(shù)據(jù)類型分為兩種:值類型和引用類型。
 1.值類型
值類型包括簡(jiǎn)單值類型和復(fù)合型類型。簡(jiǎn)單值類型可以再細(xì)分為整數(shù)類型、字符類型、實(shí)數(shù)類型和布爾類型;而復(fù)合類型則是簡(jiǎn)單類型的復(fù)合,包括結(jié)構(gòu)(struct)類型和枚舉(enum)類型。
整數(shù)類型

數(shù)據(jù)類型
說(shuō)明
取值范圍
對(duì)應(yīng)于System程序集中的結(jié)構(gòu)
sbyte
有符號(hào)8位整數(shù)
-128-127
SByte
byte
無(wú)符號(hào)8位整數(shù)
0-255
Byte
short
有符號(hào)16位整數(shù)
-32768-32767
Int16
ushort
無(wú)符號(hào)16位整數(shù)
0-65535
UInt16
Int
有符號(hào)32位整數(shù)
-2147489648-2147483647
Int32
uint
無(wú)符號(hào)32位整數(shù)
0-42994967295
UInt32
long
有符號(hào)64位整數(shù)
-263-263
Int64
ulong
無(wú)符號(hào)64位整數(shù)
0-264
UInt64

字符類型
C#中采用Unicode字符集來(lái)表示字符類型。
實(shí)數(shù)類型

數(shù)據(jù)類型
說(shuō)明
取值范圍
float
32位單精度實(shí)數(shù)
1.5*10-45-3.4*1038
double
64位雙精度實(shí)數(shù)
5.0*10-324-1.7*10308
demcimal
128位十進(jìn)制實(shí)數(shù)
1.0*10-28-7.9*1028

布爾(bool)類型
取值只能是ture或者false,bool類型對(duì)應(yīng)于.NET類庫(kù)中的System.Boolean結(jié)構(gòu)。它在計(jì)算機(jī)中占4個(gè)字節(jié),即32位存儲(chǔ)空間。
結(jié)構(gòu)類型
把一系列相關(guān)的信息組織成為一個(gè)單一實(shí)體的過(guò)程,這就是創(chuàng)建一個(gè)結(jié)構(gòu)的過(guò)程。
struct person
{
string m_name;    //姓名
int m_age;            //年齡
string m_sex;       //性別
}
枚舉類型
主要用于表示一個(gè)邏輯相關(guān)聯(lián)的項(xiàng)和組合。使用關(guān)鍵字enum來(lái)定義。
enum Weekday
{
Sunday,Monday,TuesdayWednesday,ThursdayFriday,Saturday
}
2.引用類型
引用類型包括類(class)、接口(interface)、委托(delegate)和數(shù)組(array)。
類(class
類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象集合。創(chuàng)建類的實(shí)例必須使用關(guān)鍵字new來(lái)進(jìn)行聲明。
(重點(diǎn))類和結(jié)構(gòu)之間的根本區(qū)別在于:結(jié)構(gòu)是值類型,而類是引用類型。對(duì)于值類型,每個(gè)變量直接包含自身的所有數(shù)據(jù),每創(chuàng)建一個(gè)變量,就在內(nèi)存中開辟一塊區(qū)域;而對(duì)于引用類型,每個(gè)變量只存儲(chǔ)對(duì)目標(biāo)存儲(chǔ)數(shù)據(jù)的引用,每創(chuàng)建一個(gè)變量,就增加一個(gè)指向目標(biāo)數(shù)據(jù)的指針。
接口(interface
應(yīng)用程序之間要相互調(diào)用,就必須事先達(dá)成一個(gè)協(xié)議,被調(diào)用的一方在協(xié)議中對(duì)自己所能提供的服務(wù)進(jìn)行描述。在C#中,這個(gè)協(xié)議就是接口。接口定義中對(duì)方法的聲明,既不包括訪問(wèn)限制修飾符,也不包括方法的執(zhí)行代碼。
(注意)如果某個(gè)類繼承了一個(gè)接口,那么它就要實(shí)現(xiàn)該接口所定義的服務(wù)。也就是實(shí)現(xiàn)接口中的方法。
委托
委托用語(yǔ)封裝某個(gè)方法的調(diào)用過(guò)程。
委托的使用過(guò)程分為3步:
1.定義      delegate void HelloDelegate();
2.實(shí)例化 HelloDelegate hd = new HelloDelegate(p1.Say); //p1.Say調(diào)用的方法
3.調(diào)用      hd();
數(shù)組
數(shù)組主要用于同一數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行批量處理。在C#中,數(shù)組需要初始化之后才能使用。
如:int[] array1 = new int[3]{2,3,5};
        int[] array1 = {2,3,5};
(注意)對(duì)規(guī)則多維數(shù)組,調(diào)用Length屬性所得的值為整個(gè)數(shù)組的長(zhǎng)度;而調(diào)用其GetLength方法,參數(shù)為0時(shí)得到數(shù)組第1維的長(zhǎng)度,為1時(shí)得到數(shù)組第2維的長(zhǎng)度,以此類推。而對(duì)于不規(guī)則多維數(shù)組,調(diào)用Length屬性和以0為參數(shù)調(diào)用其GetLength方法,得到的都是第一維的長(zhǎng)度。
3.類型轉(zhuǎn)換
數(shù)值轉(zhuǎn)換
       數(shù)值的轉(zhuǎn)換有一個(gè)原則,即從低精度類型到高精度類型通??梢赃M(jìn)行隱式轉(zhuǎn)換;而從高精度類型則必須進(jìn)行顯式轉(zhuǎn)換。
       如:int i = 100;
              long j = 1000;
              j = i;        //隱式轉(zhuǎn)換,由低精度到高精度的轉(zhuǎn)換
              i = (int)j; //顯式轉(zhuǎn)換,有高精度到底精度的轉(zhuǎn)換
具體轉(zhuǎn)換過(guò)程中信息的丟失就看各數(shù)據(jù)類型的精度了。(可以參考上面數(shù)據(jù)類型)
枚舉轉(zhuǎn)換
       枚舉類型與其他任何類型之間不存在隱式轉(zhuǎn)換。而和枚舉類型相關(guān)的顯式轉(zhuǎn)換包括:
1.從所有整數(shù)類型(包括字符類型)和實(shí)數(shù)類型到枚舉類型的顯式轉(zhuǎn)換;
2.從枚舉類型到所有整數(shù)類型(包括字符類型)和實(shí)數(shù)類型的顯式轉(zhuǎn)換;
3.從枚舉類型到枚舉類型的顯式轉(zhuǎn)換。
裝箱和拆箱轉(zhuǎn)換
主要是值類型與引用類型之間相互轉(zhuǎn)換。
如:object obj 1= 10;
       int i = (int)obj;       //拆箱
       int j = 100;
       object obj2 = j;     //裝箱
轉(zhuǎn)換檢查
如果出現(xiàn)轉(zhuǎn)換失敗,程序就會(huì)拋出一個(gè)System.InvalidCastException異常

相關(guān)文章

  • C#鎖住文件的操作步驟

    C#鎖住文件的操作步驟

    在本篇文章里小編給大家整理的是關(guān)于C#鎖住文件的操作步驟以及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-08-08
  • C# partial關(guān)鍵字說(shuō)明

    C# partial關(guān)鍵字說(shuō)明

    C# 中可以將類、結(jié)構(gòu)或接口的定義拆分到兩個(gè)或多個(gè)源文件中,在類聲明前添加partial關(guān)鍵字即可,通過(guò)本文給大家介紹C# partial關(guān)鍵字說(shuō)明,需要的朋友參考下
    2016-02-02
  • c#的dllimport使用方法詳解

    c#的dllimport使用方法詳解

    DllImport是System.Runtime.InteropServices命名空間下的一個(gè)屬性類,其功能是提供從非托管DLL導(dǎo)出的函數(shù)的必要調(diào)用信息
    2014-01-01
  • C#實(shí)現(xiàn)簡(jiǎn)單的雙色球抽取中獎(jiǎng)號(hào)碼代碼

    C#實(shí)現(xiàn)簡(jiǎn)單的雙色球抽取中獎(jiǎng)號(hào)碼代碼

    這篇文章主要介紹了C#實(shí)現(xiàn)簡(jiǎn)單的雙色球抽取中獎(jiǎng)號(hào)碼代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 一文詳解Unity3D?AudioSource組件使用示例

    一文詳解Unity3D?AudioSource組件使用示例

    這篇文章主要為大家介紹了一文詳解Unity3D?AudioSource組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • C#將時(shí)間轉(zhuǎn)成文件名使用方法

    C#將時(shí)間轉(zhuǎn)成文件名使用方法

    C#將時(shí)間轉(zhuǎn)成文件名用到的是DateTime類的ToFileTime方法,下面看使用方法吧
    2014-01-01
  • c#用for語(yǔ)句輸出一個(gè)三角形的方法

    c#用for語(yǔ)句輸出一個(gè)三角形的方法

    這篇文章主要介紹了c#用for語(yǔ)句輸出一個(gè)三角形的方法,可實(shí)現(xiàn)只用一個(gè)for語(yǔ)句來(lái)輸出三角形的功能,需要的朋友可以參考下
    2015-06-06
  • C#抽象類與抽象方法詳解

    C#抽象類與抽象方法詳解

    這篇文章主要為大家詳細(xì)介紹了C#抽象類與抽象方法的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 詳解C#如何加密解密RAR文件

    詳解C#如何加密解密RAR文件

    這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)加密解密RAR文件的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#多線程學(xué)習(xí)之(二)操縱一個(gè)線程的方法

    C#多線程學(xué)習(xí)之(二)操縱一個(gè)線程的方法

    這篇文章主要介紹了C#多線程學(xué)習(xí)之操縱一個(gè)線程的方法,實(shí)例分析了C#中線程的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評(píng)論