原創 C 零基礎學習筆記008 C 集合處理

2022-08-22 03:06:12 字數 2804 閱讀 6469

其他路徑:

csdn: 

hashtable集合是鍵/值對的集合。

dictionaryentry型別的例項,dictionaryentry型別有乙個key和value屬性來讀取和設定鍵和值。

動態存放鍵/值對。

鍵值是唯一的,不可重複。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.collections;  // 引入 hash 所在的命名空間

// 集合處理:hashtable表

namespace lesson_35_1

class program

static void main(string args)

hashtable hash = new hashtable();

// 往hash裡新增資料

hash.add( 1, "hello" );

hash.add( 2, "world" );

hash.add( 3, "c#" );

// 訪問hash裡的資料,通過hash訪問的時候,我們採用的是鍵這種方式訪問

console.writeline( hash[1] );

// 遍歷方式1:可以採用遍歷它的鍵集合

var keys = hash.keys;  // hash鍵的集合

foreach (object key in keys)

console.writeline("鍵:,值:", key, hash[key]);  // 輸出順序跟add順序相反

// 遍歷方式2:使用遍歷器(迭代器)

var ie = hash.getenumerator();  // 獲取乙個遍歷器

while (ie.movenext())  // 依次遍歷集合中的資料,類似於游標

console.writeline("遍歷器--鍵:,值:", ie.key, ie.value);

泛型(generic)是c#語言2.0和通用語言執行時(clr)的乙個新特性。

在泛型型別或泛型方法的定義中,型別引數是乙個佔位符(placeholder),通常為乙個大寫字母。

鍵值對的儲存,這種鍵值對的儲存可以使用泛型。即,字典。

using system;

using system.linq;

using system.text;

using system.threading.tasks;

using system.collections;

using system.collections.generic;  // 如果要使用泛型,必須引入這個命名空間

// 集合:泛型應用和字典集合

namespace lesson_36_1

class program

static void main(string args)

// 資料型別不安全:即資料的型別是不確定的。

// 在使用arraylist無法保證型別的一致性,例如:

arraylist arrlist = new arraylist();

arrlist.add(1);  // int型別

arrlist.add("hello");  // string 型別

arrlist.add(true);  // bool 型別

// 以上,arrlist的型別是不確定的,不是固定的,所以資料型別不安全。

// 泛型的特點就是型別安全,型別可以指定為固定型別。

// 泛型規定了在集合中所儲存的資料的型別。

listlist = new list();  // 指定list的型別是int

list.add(1);

list.add(2);

list.add(3);

// 泛型遍歷

foreach (int i in list )

console.writeline("泛型foreach遍歷,輸出的資料:" + i);  // 輸出的順序是add的順序

for (int i = 0; i < list.count; ++i )

console.writeline("泛型for遍歷,輸出的資料:" + list[i]);  // 輸出的順序是add的順序

// 字典集合的儲存

dictionarydic = new dictionary();  // 指定了 鍵的型別為string 和 值的型別為string

dic.add("1001", "張三");

dic.add("1002", "李四");

dic.add("1003", "王五");

// 採用類似於訪問hash表的方式去訪問字典集合的資料

var keys = dic.keys;

foreach (string key in keys )

console.writeline("字典採用foreach遍歷keys方法輸出,鍵:,值:", key, dic[key]);  // 輸出的順序就是add的順序

var ie = dic.getenumerator();

while (ie.movenext())

// 注意,這裡 ie.current 後,再 .key 和 .value。

console.writeline("字典採用遍歷器getenumerator方法輸出,鍵:,值:", ie.current.key, ie.current.value);  // 輸出的順序就是add的順序

008 C語言基礎部分

c語言嚴格區分大小寫 常量與變數的區別 常量不可變,變數可變 資料型別 基本型別 構造型別 指標型別 空型別 基本型別 整型,字元型,浮點型,列舉型別 浮點型 單精度型,雙精度型 構造型別 陣列型別,結構型別,共用體型別 運算子和表示式 賦值運算子 計算運算子 關係運算子 邏輯運算子 位運算子 條件...

C 零基礎學習筆記 Day2

變數型別 資料型別資料型別 值型別 引用型別 簡單 復合 類 整數 實數 結構 介面 字元 列舉 陣列 布林 委託基本資料型別 型別 說明 8位等於1位元組 範圍sbyte 8位有符號整數 128 127 short 16位有符號整數 32768 32767 int32位有符號整數 21474836...

C 零基礎學習程式設計題!!

1.編乙個程式,從鍵盤上輸入三個數,用if語句和邏輯表示式把最大數找出來。2 編乙個程式,從鍵盤上輸入三個數,用if語句和邏輯表示式把最小數找出來。3 編乙個程式,定義乙個字元變數,使用if else語句,輸入乙個字元,如果它是大寫字母,則把它轉換成小寫字母,如果它是小寫字母,則把它轉換成大寫字母,...