• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C#中System.Collections.Generic 下的各个容器类的用法

OC/C/C++ 水墨上仙 1901次浏览

这段代码演示了System.Collections.Generic的各容器类的用法,包括:Dictionary,KeyValuePair,SortedDictionary,SortedList,HashSet,SortedSet,List,Queue,Stack等类的用法

System.Collections.Generic.Dictionary<>;       //键/值对集合
System.Collections.Generic.KeyValuePair<>;     //键/值对结构, 作为 Dictionary<> 的一个元素存在
System.Collections.Generic.SortedDictionary<>; //相当于 Key 能自动排序 Dictionary<>
System.Collections.Generic.SortedList<>;       //和 SortedDictionary<> 功能相似, 但内部算法不同, 其 Keys、Values 可通过索引访问
System.Collections.Generic.HashSet<>;   //无序、无重复的元素集合
System.Collections.Generic.SortedSet<>; //相当于能自动排序的 HashSet<>
System.Collections.Generic.List<>;      //相当于泛型的 ArrayList, 元素可重复、可排序、可插入、可索引访问
System.Collections.Generic.Queue<>; //队列, 先进先出
System.Collections.Generic.Stack<>; //堆栈, 后进先出
System.Collections.Generic.LinkedList<>;     //双向链表
System.Collections.Generic.LinkedListNode<>; //LinkedList<> 的节点
System.Collections.Generic.SynchronizedCollection<>;         //线程安全的集合
System.Collections.Generic.SynchronizedReadOnlyCollection<>; //线程安全的只读集合
System.Collections.Generic.SynchronizedKeyedCollection<>;    //线程安全的键/值集合
Dictionary<>、KeyValuePair<>:
protected void Button1_Click(object sender, EventArgs e)
{
    Dictionary<string, int> dict = new Dictionary<string, int>();
    dict.Add("K1", 123);
    dict["K2"] = 456;
    dict.Add("K3", 789);
    string str = "";
    foreach (KeyValuePair<string, int> k in dict)
    {
        str += string.Format("{0}-{1}; ", k.Key, k.Value); //K1-123; K2-456; K3-789; 
    }
    TextBox1.Text = str;
}
SortedDictionary<>:
protected void Button1_Click(object sender, EventArgs e)
{
    SortedDictionary<string, int> dict = new SortedDictionary<string, int>();
    dict.Add("K3", 333);
    dict["K1"] = 111;
    dict.Add("K2", 222);
    SortedDictionary<string, int>.KeyCollection ks = dict.Keys;
    SortedDictionary<string, int>.ValueCollection vs = dict.Values;
    string s1, s2, s3;
    s1 = s2 = s3 = "";
    foreach (KeyValuePair<string, int> k in dict)
    {
        s1 += string.Format("{0}-{1}; ", k.Key, k.Value); //K1-111; K2-222; K3-333;
    }
    foreach (string s in ks) { s2 += s + "; "; }          //K1; K2; K3;
    foreach (int n in vs) { s3 += n.ToString() + "; "; }  //111; 222; 333; 
    TextBox1.Text = s1 + "\n" + s2 + "\n" + s3;
}
SortedList<>:
protected void Button1_Click(object sender, EventArgs e)
{
    SortedList<string, int> dict = new SortedList<string, int>();
    dict.Add("K3", 333);
    dict["K1"] = 111;
    dict.Add("K2", 222);
    string s1, s2, s3;
    s1 = s2 = s3 = "";
    foreach (KeyValuePair<string, int> k in dict)
    {
        s1 += string.Format("{0}-{1}; ", k.Key, k.Value); //K1-111; K2-222; K3-333;
    }
    s2 = dict.Keys[0];              //K1
    s3 = dict.Values[0].ToString(); //111
    TextBox1.Text = s1 + "\n" + s2 + "\n" + s3;
}
HashSet<>、SortedSet<>:
protected void Button1_Click(object sender, EventArgs e)
{
    HashSet<string> hs = new HashSet<string>();
    hs.Add("ccc");
    hs.Add("bbb");
    hs.Add("aaa");
    SortedSet<string> ss = new SortedSet<string>();
    ss.Add("ccc");
    ss.Add("bbb");
    ss.Add("aaa");
    string s1 = "", s2 = "";
    foreach (string s in hs) { s1 += s + " "; } //ccc bbb aaa 
    foreach (string s in ss) { s2 += s + " "; } //aaa bbb ccc 
    TextBox1.Text = s1 + "\n" + s2;
}
List<>:
protected void Button1_Click(object sender, EventArgs e)
{
    List<int> list = new List<int>();
    list.Add(11);
    list.Add(22);
    list.Insert(0, 33);
    string s1, s2 = "", s3, s4 = "";
    s1 = list[0].ToString(); //33
    for (int i = 0; i < list.Count; i++) { s2 += list[i].ToString() + " "; } //33 11 22
    list.Sort();
    s3 = list[0].ToString(); //11
    foreach (int n in list) { s4 += n.ToString() + " "; } //11 22 33 
    TextBox1.Text = s1 + "\n" + s2 + "\n" + s3 + "\n" + s4;
}
LinkedList<>、LinkedListNode<>:
protected void Button1_Click(object sender, EventArgs e)
{
    LinkedList<string> list = new LinkedList<string>();
    list.AddFirst("aaa");
    list.AddLast("bbb");
    list.AddFirst("ccc");
    list.AddAfter(list.First, "ddd");
    list.AddBefore(list.Last, "eee");
    string s1 = "", s2 = "", s3 = "", s4 = "", s5 = "";
    foreach (string s in list) { s1 += s + " "; } //ccc ddd aaa eee bbb 
    LinkedListNode<string> node = list.First;
    s2 = node.Value.ToString();         //ccc
    node = node.Next;
    s3 = node.Value.ToString();         //ddd
    node = list.Last.Previous.Previous;
    s4 = node.Value.ToString();         //aaa
    list.Remove("eee");
    list.RemoveFirst();
    list.RemoveLast();
    node = list.First;
    while (node != null)
    {
        s5 += node.Value.ToString() + " "; //ddd aaa 
        node = node.Next;
    }
    TextBox1.Text = s1 + "\n" + s2 + "\n" + s3 + "\n" + s4 + "\n" + s5;
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C#中System.Collections.Generic 下的各个容器类的用法
喜欢 (0)
加载中……