1.關於mydictionary類
本文中實現的mydictionary類具有如下功能
1)可以增加、修改、刪除鍵值對
2)可以通過索引器,找到乙個鍵對應的值
3)可以遍歷列印類中全部的鍵值對
4)可以將類中的序列轉化為有序的(不排序、公升序、降序)list型別
mydictionary類是乙個具有兩個引數的泛型類,內部機制採用以鍵值對(keyvaluepair)型別為元素的雙向鍊錶(linkedlist)實現
2.實現**
class mydictioinary
}return default(tvalue);
} }///
/// 新增一組資料
///
///
///
public void add(tkey tk, tvalue tv)
}lldictionary.addlast(new keyvaluepair(tk, tv));
} ///
/// 刪除一組資料
///
///
public void delete(tkey tk)
}throw new exception("刪除失敗:不存在這個主鍵");
} ///
/// 修改一組資料
///
///
///
public void modify(tkey tk, tvalue tv)
lln = lln.next;
} throw new exception("修改失敗:不存在這個主鍵");
} ///
/// 列印整個dictionary內的全部資料
///
public void printdata()
console.writeline(string.format("共計輸出 項", lldiction
console.writeline(datetime.now.tolongtimestring());
console.writeline("***************===");
} ///
/// 決定按什麼順序列印dictionary內的資料
///
public enum printtype
; ///
/// 返回list型別的資料
///
/// list內資料的排序情況
///
public list> tolist(printtype printtype = printtype.normal)
case printtype.ascend:
}else //key可以被轉化為浮點數的情況
}lln2 = lln2.next;
}if (lln2 == null)
lln = lln.next;}}
catch (exception ex)
return newll.tolist();
}case printtype.descend:
}else //key可以被轉化為浮點數的情況
}lln2 = lln2.next;
}if (lln2 == null)
lln = lln.next;}}
catch (exception ex)
return newll.tolist();
}default: return null;
} }}
3程式設計客棧.main函式呼叫示例
st程式設計客棧atic void main(string args)
catch (exception ex)
//刪除一組資料
dic.delete("1");
//新增一組資料
dic.add("1", "mars");
//修改兩組資料
dic.modify("1", "jupiter");
dic.modify("2", "saturn");
//新增兩組資料
dic.add("6", "sun");
dic.add("5", "moon");
dic.add("8", "uranus");
dic.add("9", "neptune");
dic.printdata();
//通過索引找到對應值
console.writeline("key為6的元素value為:" + dic["6"]);
console.writeline("key為3的元素value為:" + dic["3"]);
list> l;
//輸出公升序排列好的list
l = dic.tolist(mydictioinary.printtype.ascend);
console.writeline("公升序排列後的list:");
for (int i = 0; i < l.count; i++)
//輸出降序排列好的list
l = dic.tolist(mydictioinary.printtype.descend);
console.writeline("降排列後的list:");
for (int i = 0; i < l.count; i++)
console.readline();
}4.執行示例
本文標題: c#實現自定義dictionary類例項
本文位址:
C 自定義屬性實現
在用c 寫程式的時候,可能會用到自定義屬性來傳遞一些資料,這次就來簡單看看自定義屬性的用法 1.寫自定義屬性類 a.宣告自定義屬性類,繼承自attribute類 b.定義所需的建構函式,欄位和屬性 c.新增attributeusageattribute屬性 attributeusage attrib...
自定義Toast實現自定義Toast布局
平時我們使用toast的時候都是這樣的一種方法 toast toast toast.maketext context,duration 現在我們來自定義下toast的布局,首先看下toast建立時的源 public static toast maketext context context,char...
C 如何實現自定義類
pragma once include include using namespace std class csvitem csvitem const csvitem item void operator const csvitem item public string lock time 作業上鎖...