5 C 基礎 C 的值型別

2021-09-08 05:07:38 字數 3477 閱讀 3006

1、c#的值型別

有幾個特點:

值型別分為兩類: struct(結構 )、 enum(列舉 )

struct(結構 )分為以下幾類:

bool

使用者定義的結構。

下表列出了 c# 中內建型別中可用的值型別:

型別描述

範圍預設值

bool

布林值true 或 false

false

byte

8 位無符號整數

0 到 255

0char

16 位 unicode 字元

u +0000 到 u +ffff

'\0'

decimal

128 位精確的十進位制值,28-29 有效位數

(-7.9 x 1028 到 7.9 x 1028) / 100 到 28

0.0m

double

64 位雙精度浮點型

(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308

0.0d

float

32 位單精度浮點型

-3.4 x 1038 到 + 3.4 x 1038

0.0f

int32 位有符號整數型別

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

0long

64 位有符號整數型別

-923,372,036,854,775,808 到 9,223,372,036,854,775,807

0lsbyte

8 位有符號整數型別

-128 到 127

0short

16 位有符號整數型別

-32,768 到 32,767

0uint

32 位無符號整數型別

0 到 4,294,967,295

0ulong

64 位無符號整數型別

0 到 18,446,744,073,709,551,615

0ushort

16 位無符號整數型別

0 到 65,535

0 實際上是簡單型別,所有的簡單型別(c# 語言的組成部分)均為 .net framework 系統型別的別名。 例如,int 是 system.int32 的別名。可使用文字初始化簡單型別。 例如,「a」是 char 型別的文字,而 2001 是 int 型別的文字。如需得到乙個型別或乙個變數在特定平台上的準確尺寸,可以使用 sizeof 方法。表示式 sizeof(type) 產生以位元組為單位儲存物件或型別的儲存尺寸。下面舉例獲取任何機器上 int 型別的儲存尺寸:

2 ", sizeof(int));

8 console.readline();

9 }

10 }

11 }

當上面的**被編譯和執行時,它會產生下列結果:

size of int: 4
2、 c# 的 struct

struct(結構)通常用作一小組相關變數的容器,在 c# 中它使得乙個單一變數可以儲存各種資料型別的相關資料。struct 關鍵字用於建立結構體,可以按照如下的方式宣告 person結構:

1 struct person

2 ;

下面的程式演示了結構的用法:

using system;

namespace mystruct

class program

", person1.name);

console.writeline("person1 性別:", person1.***);

console.writeline("person1 年齡:", person1.age);

//輸出 person2 的資訊

console.writeline("person2 姓名:", person2.name);

console.writeline("person2 性別:", person2.***);

console.writeline("person2 年齡:", person2.age);

console.read();}}

}

當上面的**被編譯和執行時,它會產生下列結果:

person1 姓名:張三

person1 性別:男

person1 年齡:18

person2 姓名:李四

person3 性別:男

person4 年齡:20

結構與類具有許多相同的語法,但結構比類受到的限制更多:

多提一下:可將結構型別強制轉換為介面型別,這將導致「裝箱」操作,以將結構包裝在託管堆上的引用型別物件內。 當將值型別傳遞到接受 object 作為輸入引數的方法時,將發生裝箱操作。詳細的會在後面裝箱和取消裝箱說明。

c# 的 enum

列舉型別(也稱為列舉)為定義一組可以賦給變數的命名整數常量提供了一種有效的方法。 例如,假設您必須定義乙個變數,該變數的值表示一周中的一天。 該變數只能儲存七個有意義的值。 若要定義這些值,可以使用列舉型別。列舉型別是使用 enum 關鍵字宣告的:

enum days ;

enum months : byte ;

預設情況下,列舉中每個元素的基礎型別是 int。 可以使用冒號指定另一種整數值型別,如前面的示例所示。准許使用的型別有 byte、sbyte、short、ushort、int、uint、long 或 ulong。

通常情況下,最好是在命名空間內直接定義列舉,以便該命名空間中的所有類都能夠同樣方便地訪問它。 但是,還可以將列舉巢狀在類或結構中。

預設情況下,第乙個列舉數的值為 0,後面每個列舉數的值依次遞增 1。 例如,下面的列舉,sat 是 0,sun 是 1,mon 是 2 等。

enum days ;
如下面的示例所示列舉數可用初始值來重寫預設值。

enum days ;
如果變數 meetingday 的型別為 days,則只能將 days 定義的某個值賦給它(無需顯式強制轉換)。 如果會議日期更改,可以將 days 中的新值賦給 meetingday:

days meetingday = days.monday;

//...

meetingday = days.friday;

using system;

namespace myenum

; static void main(string args)

", weekdaystart);

console.writeline("friday: ", weekdayend);

console.read();}}

}

當上面的**被編譯和執行時,它會產生下列結果:

monday: 1

friday: 5

5C 暴庫漏洞

的unicode是 5c,主要就是暴庫漏洞 那麼,我看到下面四種情況 1,直接暴庫,解決方法在conn.asp中加入on error resume next duoluo.webdream dlog 5cshowlog.asp?cat id 16 log id 444 2,不顯示任何資訊,原因已打入...

5 c語言陣列

其中包括 冒泡 高精度加法 統計不相同的數字個數 陣列 陣列元素倒序輸出 go 1 include 234 5功能 冒泡67 6功能 高精度加法78 9void main 10 12int b m 13int c m 14char s m 1 15 int i 0 16 int n1 0 17 in...

5 C 基礎之變數(完成)

5.1變數類別 靜態變數 用static修飾符宣告的字段稱為靜態變數。靜態變數在包含了它那個型別的靜態建構函式執行之前就存在了,在關聯應用程式域終止時終止 例項變數 沒有使用static修飾符宣告的字段 陣列元素 陣列元素在建立陣列例項時開始存在,在沒有對該陣列例項的引用時停止存在 值引數 未用re...