很多非泛型集合类都有对应的泛型集合类,下面是常用的非泛型集合类以及对应的泛型集合类:
非泛型集合类 泛型集合类
ArrayList List<T>
HashTable DIctionary<T>
Queue Queue<T>
Stack Stack<T>
SortedList SortedList<T>

我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,如果我们操纵的数据类型相对确定的化  用 Dictionary<TKey,TValue> 集合类来存储数据就方便多了。

 


using System;
using
 System.Collections.Generic;
using
 System.Text;
using
 System.Collections;

namespace
 Collections
{
    
class
 Program
    {
        
static void Main(string
[] args)
        {
            
//
ShowArrayList();
            
//ShowHashTable();

            ShowGenericCollection();
        }
        
//ArrayList

        public static void ShowArrayList()
        {
            ArrayList list 
= new
 ArrayList();
            list.Add(
1
);
            list.Add(
"hello"
);
            
//遍历

            foreach (object o in list)
            {
                Console.WriteLine(o);
            }
            Console.WriteLine(list[
0
]);
            Console.WriteLine(list[
1
]);
            Console.ReadLine();
        }
        
//哈希表

        public static void ShowHashTable()
        {
            Hashtable ht 
= new
 Hashtable();
            ht.Add(
"1""engine1"
);
            ht.Add(
"2""engine2"
);
            ht.Add(
"3""engine3"
);
            Console.WriteLine(ht[
"2"
]);
            
//遍历哈希表

            foreach (DictionaryEntry de in ht)
            {
                Console.WriteLine(de.Key);
                Console.WriteLine(de.Value);
            }
            Console.ReadLine();
        }
        
//泛型集合类

        public static void ShowGenericCollection()
        {
            Person p1 
= new Person("engine1"
);
            Person p2 
= new Person("engine2"
);
            List
<Person> list = new List<Person>
();
            list.Add(p1);
            list.Add(p2);
            
//遍历

            foreach (Person p in list)
            {
                Console.WriteLine(p.Name);
            }
            Console.ReadLine();
            
//--------------------------------------

            Dictionary<stringstring> dict = new Dictionary<stringstring>();
            dict.Add(
"1""engine1"
);
            dict.Add(
"2""engine2"
);
            dict.Add(
"3""engine3"
);
            
foreach (KeyValuePair<stringstring> kvp in
 dict)
            {
                Console.WriteLine(
"key={0},value={1}"
, kvp.Key, kvp.Value);
            }
            Console.ReadLine();

        }
    }
    
public class
 Person
    {
        
private string
 _name;
        
public string
 Name
        {
            
get

            {
                
return this._name;
            }
            
set

            {
                _name 
= value;
            }
        }
        
public Person(string
 name)
        {
            
this._name =
 name;
        }
    }
}

 

posted on 2009-05-30 17:52  钱途无梁  阅读(192)  评论(0编辑  收藏  举报