用到索引器建立乙個集合DEMO

2021-07-27 12:32:07 字數 2700 閱讀 5358

1. 可以通過索引或鍵來訪問集合的成員,例如collection[index]

2. 可以使用for,foreach遍歷

3. 具有屬性或方法,用於獲得集合中的成員數量,常見的有count屬性

4. 擁有一些新增、移除成員的方法:add、insert、remove、clear等

一、首先建立產品的類product

下邊採用測試驅動開發的方法,先寫好測試用例,然後再去實現它。

public

class product

public

string name

public

string code

public

string category

public

decimal price

public datetime producedate

//美化輸出格式

public

override

string

tostring()

",this.id.tostring().padleft(2)

,this.category.padleft(15),this.code.padleft(7),this.name.padleft(17),

this.price.tostring ().padleft (8),this.producedate

.tostring("yyyy-m-d").padleft(13));

}///

/// 獲取乙個產品集合,僅作為演示,用於填充並返回乙個productcollection集合

//////

public

static productcollection getsamplecollection(),

new product,

new product ,

new product,

new product ,

new product,

new product);

return collection;}}

二、productcollection(這裡用到了c#索引器)

//建立乙個product集合型別

//在內部包含乙個泛型類list

//然後將所有關於集合的操作都委託給這個list執行

public

class productcollection

public

productcollection(params product array)

}public icollection keys

}private

string

getkeys(int index)

i++;

}return selected;

}//索引器的應用,可以支援collection[index]的訪問

public product this[int index]

set

}private

string

getkey(string key)

}throw

new exception("不存在此鍵值");

}public product this[string key]

set

}public

void

add(product item)

}table.add(item.code, item);

}//下邊的三個方法,沒有寫具體的實現

public

void

insert(int index,product item){}

public

bool

remove(product item)

public

bool

removeat(int index)

//清除全部成員

public

void

clear()

public

int count

}//private listlist=new list();

//索引器,以支援類似於collection[index]

//public product this[int index]

//索引器,以支援類似於collection[key]這樣的訪問

//public product this[string key]

//在末尾新增成員

//public void add(product item){}

}

三、客戶端訪問

總結客戶端的作用就是將集合中的內容按照index順序列印輸出到螢幕,索引器應用於集合的建立當中比較做,簡化了程式設計人員的編碼工作~!

p.s.demo參考了《.net之美》

乙個簡單的觸發器 Demo

背景 常見的表會有乙個updatedate欄位,用來標示表中資料最近一次被更新的時間 該功能可由程式實現 不再贅述 也可以由觸發器實現 use test go object trigger dbo autodatemodified script date 04 12 2010 17 37 43 se...

ionic 入門建立第乙個應用demo

一 ionic解除安裝 1.清除舊版本的ionic框架 npm uninstall g ionic npm uninstall g cordova npm cache clear npm cache clean 2.確定ionic具有哪些可以建立的模板 ionic start list二 ionic...

乙個Demo初識MFC

如何通過完全 的形式來建立視窗?下面是乙個簡單的程式。設定專案屬性如下 標頭檔案 testall.h class cmainwindow public cframewnd 原始檔 testall.cpp testall.cpp 定義控制台應用程式的入口點。include stdafx.h inclu...