日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C# hashtable

發(fā)布時(shí)間:2024/10/8 C# 118 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# hashtable 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Hashtable
一,哈希表(Hashtable)簡(jiǎn)述

?? 在.NET work中,Hashtable是System.Collections命名空間提供的一個(gè)容器,用于處理和表現(xiàn)類(lèi)似key/的鍵值對(duì),其中key通常可用來(lái)快速查找,同時(shí)key是區(qū)分大小寫(xiě);用于存儲(chǔ)對(duì)應(yīng)于key的值。Hashtable中key/鍵值對(duì)均為object類(lèi)型,所以Hashtable可以支持任何類(lèi)型的key/鍵值對(duì).

二,哈希表的簡(jiǎn)單操作

在哈希表中添加一個(gè)key/鍵值對(duì):HashtableObject.Add(key,);
在哈希表中去除某個(gè)key/鍵值對(duì):HashtableObject.Remove(key);
從哈希表中移除所有元素:??????????? HashtableObject.Clear();
判斷哈希表是否包含特定鍵key:?????? HashtableObject.Contains(key);
下面控制臺(tái)程序?qū)陨纤胁僮?#xff1a;
using System;
using System.Collections; //使用Hashtable時(shí),必須引入這個(gè)命名空間
class hashtable
{
?? public static void Main()
?? {
?? Hashtable ht=new Hashtable(); //創(chuàng)建一個(gè)Hashtable實(shí)例
?? ht.Add("E","e");//添加key/鍵值對(duì)
?? ht.Add("A","a");
?? ht.Add("C","c");
?? ht.Add("B","b");

?? string s=(string)ht["A"];
?? if(ht.Contains("E")) //判斷哈希表是否包含特定鍵,其返回值為true或false
???? Console.WriteLine("the E key:exist");
?? ht.Remove("C");//移除一個(gè)key/鍵值對(duì)
?? Console.WriteLine(ht["A"]);//此處輸出a
?? ht.Clear();//移除所有元素
?? Console.WriteLine(ht["A"]); //此處將不會(huì)有任何輸出
?? }
}


三,遍歷哈希表

遍歷哈希表需要用到DictionaryEntry Object,代碼如下:
foreach(DictionaryEntry de in ht) //ht為一個(gè)Hashtable實(shí)例
{
??? Console.WriteLine(de.Key);//de.Key對(duì)應(yīng)于key/鍵值對(duì)key
??? Console.WriteLine(de.);//de.Key對(duì)應(yīng)于key/鍵值對(duì)
}

注意:用foreach

四,對(duì)哈希表進(jìn)行排序

?? 對(duì)哈希表進(jìn)行排序在這里的定義是對(duì)key/鍵值對(duì)中的key按一定規(guī)則重新排列,但是實(shí)際上這個(gè)定義是不能實(shí)現(xiàn)的,因?yàn)槲覀儫o(wú)法直接在Hashtable進(jìn)行對(duì)key進(jìn)行重新排列,如果需要Hashtable提供某種規(guī)則的輸出,可以采用一種變通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //別忘了導(dǎo)入System.Collections
akeys.Sort(); //按字母順序進(jìn)行排序
foreach(string skey in akeys)
{
??? Console.Write(skey ":");
??? Console.WriteLine(ht[skey]);//排序后輸出
}

注意:用foreach 下面是一個(gè)簡(jiǎn)單的例子: class SampleHashtable
{
?? /// <summary>
?? /// The main entry point for the application.
?? /// </summary>
?? [STAThread]
?? static void Main(string[] args)
?? {
??? // Create and initialize a new Hashtable.
??? Hashtable table = new Hashtable();
??? //Student Name, Grade
??? table.Add("leiwanjun", 100);
??? table.Add("wanghuan", 87);
??? table.Add("wuhailong", 92);
??? table.Add("renyao", 76);
??? table.Add("tanghonglei", 84);
??? table.Add("chenxiaoping", 91);
??? table.Add("liupeixun", 80);
??? table.Add("huyoumou", 87); // Display the properties and values of the Hashtable.???
??? Console.WriteLine("Count: {0}", table.Count);
??? PrintTable(table); Console.WriteLine();
??? int g = (int) table["wuhailong"];
??? Console.WriteLine ("wuhailong's grade is: {0}", g); Console.WriteLine();
??? PrintItems ("All Names", table.Keys);
???????????
??? Console.WriteLine();
??? PrintItems ("All Grades", table.Values); } public static void PrintTable( Hashtable myList)
?? {
??? Console.WriteLine ("{0, -15} {1, -15}", "Name","Grade");
??? Console.WriteLine ("{0, -15} {1, -15}", "----","-----");
//??? // 排序
//??? ArrayList al = new ArrayList(myList.Keys);
//??? al.Sort();
//??? foreach (string Name in al)
//??? {
//???? Console.WriteLine("{0, -15} {1, -15}", Name, myList[Name]);
//??? }
//??? //
??? //遍歷哈希表中的每個(gè)元素,直接輸出
??? foreach (DictionaryEntry e in myList)
??? {
???? Console.WriteLine ("{0, -15} {1, -15}", e.Key, e.Value);
??? }
?? } public static void PrintItems(string title, IEnumerable myList )
?? {
??? Console.Write ("{0}: ", title);
??? StringBuilder sb = new StringBuilder();
??? foreach (object o in myList)
??? {
???? sb.AppendFormat( "{0}, ", o);
??? }
??? sb.Remove(sb.Length - 2, 2);
??? Console.WriteLine(sb);

轉(zhuǎn)載于:https://www.cnblogs.com/hyfei0315/archive/2008/07/07/1237728.html

總結(jié)

以上是生活随笔為你收集整理的C# hashtable的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。