C#基礎--之數據類型

   在第一章我們瞭解了C#的輸入、輸出語句後,我這一節主要是介紹C#的基礎知識,本節的內容也是後續章節的基礎,好的開端等於成功的一半。在你閱讀完本章後,你就有足夠的C#知識編寫簡單的程序了。但還不能使用繼承或其它面向對象的特徵。

   本章主要針對以下幾個部份來進行講解:

   1、電腦是由什麼來存儲所使用的數據?

   2、基本數據類型有哪些?

   3、如何聲明變量和賦值?

   4、變量和常量的區別?

   5、不同數據類型之間是如何轉換的?

   下面,我們現一個一個的來了解這些問題。

  

    一、電腦是由什麼來存儲所使用的數據?

      這個問題用一句話比較籠統的概括,那就是:電腦使用內存來記憶計算時所使用的數據。

      在現實生活中的數據各種各樣,整數、小數、字符串、字符等等,它們都類型是不一樣的,所以你要想在計算機中使用這些類型,就必須在內存中爲它申請一塊合適的空間。

     那有哪些數據類型是C#能使用的呢?我們一起來看一看.

    

      二、基礎數據類型有哪些

      首先要了解一點:C#認可的基礎數據類型並沒有內置於C#語言中,而是內置於.net Framework中。

      如,在c#中聲明一個int類型的數據時,聲明的實際上是.net結構System.Int32的一個實例。這聽起來似乎很深奧,但其意義深遠:這表示在語法上,可以把所有的基礎數據類型看作是支持某些方法的類。

     類型實際上仍存儲爲基本類型。基本類型在概念上用.Net結構表示,所以肯定沒有性能損失。

     下面大家一起來了解一下C#中定義的內置類型,我們將列出每個類型,以及它們的定義和對應的.net類型(CTS類型)的名稱。

      c#有15個預定義類型,其中13個是值類型,兩個是引用類型(string 和 object)

 

 

 

    1、整型

 

   2、浮點類型

 

    float數據類型用於較小的浮點數,因爲它要求的精度較低。

    double數據類型比float數據類型大,提供的精度也大一倍(15位)。

    如果在代碼中沒有對某個非整數值(如12.3)硬編碼,則編譯器一般假定該變量是double。

    如果想指定該值爲float,可以在其後加上字符F(或f),如:

         float f = 12.3F;

 

 3、decimal類型

 

    decimal類型專門用於進行財務計算,使用decimal類型提供的28位的方式取決於用戶。

    要把數字指定爲decimal類型,可以在數字的後面加上字符M或(m),如:

    decimal d=12.30M;

 

    4、bool(布爾)類型

 

 

    5、char字符類型

     char類型的字變量是用單引號括起來的。     如'A'

     如果把字符把在"A"(雙引號)內,編譯器會把它看作是字符串,從而產生錯誤。

 

    6、引用類型(Object類型和字符串類型)

 

 三、如何聲明變量和賦值

   1、變量的定義:是指在程序的運行過程中隨時可以發生變化的量

    2、上面我們提到,變量在運行時當中是存在內存當中的,它是一個臨時的存放場所。

         那麼在內存當中,可以存放如數字、字符串、日期等等各種類型的數據。

 

大家可以看一看這張圖,它就把表示內存當中的一個狀態。

 

簡單的來說,變量就是表示內存當中的一塊存儲區域。

 

它會對應一個唯一的內存地址,但是我們在使用程序當時候,內存地址不好理解也不好記憶。

那麼怎麼辦呢?

 

在日常生活當中我們都有一個名字,如"張三“、”李四“等,這些名字就是爲了便於記憶。

那麼同樣,在程序當中,爲了區別多個變量,那就需要爲每個變量賦值一個簡短,便於記憶的名字,

這就是變量名

 

     3、 C#中的變量的命名是是有規則的:

         1)、由字母、數字或下劃線"_"組成

         2)、必須由字母下劃線"_"開頭,不能以數字開頭

         3)、不能是c#中的關鍵字 如:int、string、bool、Main、class等 

         4)、區分大小寫  如:小寫的a  和  大寫的A 是兩個變量

     

      4、做爲一個比較好的學習者,就必須遵守一些變量命名規範:

           1)、變量的名字要有意義,儘量用對應的英語命名,具有“見名知意“的作用。

                  如:姓名   變量取名爲 name 或者 用拼單  xingMing,避免用a,b,c來進行命名。

           2)、避免使用單個字符作爲變量名( 除在循環裏面定的變量)

           3)、當使用多個單詞組成變量名時,應該使用駱駝(Camel)命名法

                   駱駝(Camel)命名法:第一個單詞的首字母小寫,其它單詞的首字母大寫,如:myName,myAge

           

          選擇題:以下變量命名正確的是(     )

                  A、name、 _222*1、 9class、 public

                  B、_teacher、 void、 string、 myName

                  C、$Age、 corss、 fire、 _grade

                  D、_glass、 g23、 c_12、 my_first_2

 

 

      5、變量的聲明和賦值

          1)定義變量的語法:

            數據類型    變量名;      (定義一個年齡的變量,年齡是整數,所以變量定義如下:)

              int          age;         [系統會根據數據類型,在內存中分配不同大小的存儲空間]

 

             每個數據類型後面,可以定義多個變量,如:(定義姓名、家庭地址、籍貫、民族)

                string name,address,origin,national ;

            

           2)爲變量賦值語法:

               =           

              (這裏的=號表示賦值運算符,把=號右邊的值,賦值給左邊的變量名,最後以一個;[分號]結束)

               如:年齡18歲,姓名爲“小張",家庭地址爲“重慶南坪XXX",

                      籍貫爲“重慶",民族爲“漢"

                age = 18 ;

                name = "小張" ;

                address = "重慶南坪XXX" ;

                origin = "重慶" ;

                national = "" ;

 

 四、變量和常量的區別

         變量:是指在程序的運行過程中隨時可以發生變化的量

        常量:是指在程序在運行過程中不會發生變化的變量

         

          常量的特點:

                   1、必須在聲明是賦值

                   2、不能在在程序運行時,給常量賦值

                   3、常量是靜態的。不必須(實際上,是不允許)在常量聲明中包含修飾符static 

        

 五、不同數據類型之間是如何轉換的

       在C#中數據類型轉換分爲兩種:1)隱式[又叫自動]類型轉換     2)顯式[又叫強制]類型轉換

           舉個簡單例子:

           飛機場裏面停飛機,這是理所當然,我們把這種叫做隱式[又叫自動]類型轉換

   

           那如果我們反過來看一看,飛機裏面裝飛機場,這個在我們實際生活中,覺得這是根據不可能的,

           但是程序可能做到這一點,我們把這種叫做顯式[又叫強制]類型轉換

 

       在C#中數據類型轉換分爲兩種:1)隱式[又叫自動]類型轉換     2)顯式[又叫強制]類型轉換

 

 

簡稱 .NET 類 類型 寬度 範圍(位)

byte

Byte

無符號整數

8

0 到 255

sbyte

SByte

有符號整數

8

-128 到 127

int

Int32

有符號整數

32

-2,147,483,648 到 2,147,483,647

uint

UInt32

無符號整數

32

0 到 4294967295

short

Int16

有符號整數

16

-32,768 到 32,767

ushort

UInt16

無符號整數

16

0 到 65535

long

Int64

有符號整數

64

-922337203685477508 到 922337203685477507

ulong

UInt64

無符號整數

64

0 到 18446744073709551615

float

Single

單精度浮點型

32

-3.402823e38 至 3.402823e38

double

Double

雙精度浮點型

64

-1.79769313486232e308 至 1.79769313486232e308

char

Char

單 Unicode 字符

16

文本中使用的 Unicode 符號

bool

Boolean

邏輯布爾值類型

8

True 或 False

object

Object

所有其他類型的基類型

 

 

string

String

字符序列

 

 

decimal

Decimal

精確小數類型或整型,可以表示帶有 29 個有效位的十進制數

128

±1.0 × 10e−28 至 ±7.9 × 10e28

 

 

{轉}SQL SERVER數據類型與C#數據類型對照表
2009-03-16 23:12

  SQL SERVER類型   C#類型
精確數字 bigint 從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據(所有數字)。存儲大小爲 8 個字節。 Int64
int 從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。存儲大小爲 4 個字節。int 的 SQL-92 同義字爲 integer Int32
smallint

從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據。存儲大小爲 2 個字節。

Int16
tinyint

從 0 到 255 的整型數據。存儲大小爲 1 字節。

System.Byte
bit

1 或 0 的整數數據。

Boolean
decimal 從 -10^38 +1 到 10^38 –1 的固定精度和小數位的數字數據。 System.Decimal
numeric 功能上等同於 decimal System.Decimal
money

貨幣數據值介於 -2^63 (-922,337,203,685,477.5808) 與 2^63 - 1 (+922,337,203,685,477.5807) 之間,精確到貨幣單位的千分之十。

System.Decimal
smallmoney

貨幣數據值介於 -214,748.3648 與 +214,748.3647 之間,精確到貨幣單位的千分之十。

System.Decimal
近似數字 float

從 -1.79E + 308 到 1.79E + 308 的浮點精度數字。

System.Double
real

從 -3.40E + 38 到 3.40E + 38 的浮點精度數字。

System.Single
  datetime 從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確到百分之三秒(或 3.33 毫秒)。 System.DateTime
smalldatetime

從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數據,精確到分鐘。

System.DateTime
字符串 char

固定長度的非 Unicode 字符數據,最大長度爲 8,000 個字符。

String
varchar

可變長度的非 Unicode 數據,最長爲 8,000 個字符。

String
text

可變長度的非 Unicode 數據,最大長度爲 2^31 - 1 (2,147,483,647) 個字符。

String
Unicode 字符串 nchar

固定長度的 Unicode 數據,最大長度爲 4,000 個字符。

String
nvarchar

可變長度 Unicode 數據,其最大長度爲 4,000 字符。sysname 是系統提供用戶定義的數據類型,在功能上等同於 nvarchar(128),用於引用數據庫對象名。

String
ntext

可變長度 Unicode 數據,其最大長度爲 2^30 - 1 (1,073,741,823) 個字符。

String
二進制字符串 binary 固定長度的二進制數據,其最大長度爲 8,000 個字節。 System.Byte[]
varbinary 可變長度的二進制數據,其最大長度爲 8,000 個字節。 System.Byte[]
image

可變長度的二進制數據,其最大長度爲 2^31 - 1 (2,147,483,647) 個字節。

System.Byte[]
其它數據類型 timestamp

數據庫範圍的唯一數字,每次更新行時也進行更新。

System.DateTime
uniqueidentifier

全局唯一標識符 (GUID)。

System.Guid
Variant   Object

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章