List

List:也是Array,内存上都是连续摆放的;不定长;泛型,保证类型安全,避免装箱拆箱(都是统一的类型)   
List<Student> resultList = (from c in lsStudent where c.Name.IndexOf(key)>=0 ||c.Sex.IndexOf(sex)>=0 select c).ToList();
  知识讲解
  1,c.Name.IndexOf(key)>=0 ---意义等同于 like '%key%',从两端模糊匹配
  2,c.Name.StartsWith(key) ---等同于like 'key%' ,从开头模糊匹配
  3,c.Name.EndWith(key) ---等同于like '%key',从结尾模糊匹配
 去除特定数据
第一种
for (int i = 0; i < studentList.Count - 1;i++) 
{
if (studentList[i].Age==10)
{
studentList.Remove(studentList[i]);
}
}
第二种
studentList.RemoveAll((test) => test.Age == 10);//可以用此Linq表达式移除所有符合条件的列表元素
将List 类型转换成DataTable
   public static DataTable ToDataTable(IList list)
        {
            DataTable result = new DataTable();
            if (list.Count > 0)
            {
                PropertyInfo[] properts = list[0].GetType().GetProperties();
                foreach (PropertyInfo pi in properts)
                {
                    result.Columns.Add(pi.Name, pi.PropertyType);
                }
                for (int i = 0; i < list.Count; i++)
                {
                    ArrayList tempList = new ArrayList();
                    foreach (PropertyInfo pi in properts)
                    {
                        object obj = pi.GetValue(list[i], null);
                        tempList.Add(obj);
                        object[] array = tempList.ToArray();
                        result.LoadDataRow(array, true);
                    }
                }
            }
            return result;
        }

Hashtable类

哈希表,名-值对。类似于字典(比数组更强大)。哈希表是经过优化的,访问下标的对象先散列过。如果以任意类型键值访问其中元素会快于其他集合。GetHashCode()方法返回一个int型数据,使用这个键的值生成该int型数据。哈希表获取这个值最后返回一个索引,表示带有给定散列的数据项在字典中存储的位置。

Queue类

队列,先进先出。enqueue方法入队列,dequeue方法出队列。

Stack<T> 

后进先出,Push插入顶部,Pop移除顶部

 

 

泛型集合类 访问方式 允许空 允许重复 其他说明

List<T> 索引 允许 允许 类似于自动扩充容量的数组,可通过索引插入,移除元素,可进行排序
LinkedList<T> 前、后节点 允许 允许 通过节点LinkedListNode来顺序访问上一个或下一个,元素进行排序无意义
HashSet<T> 具体值 允许 不允许 元素无特定顺序,元素是唯一,不重复的。Add一个元素如果已存在,将操作失败
Queue<T> 顶部 允许 允许 先进先出,Enqueue插入末尾,Dequeue移除顶部
Stack<T> 顶部 允许 允许 后进先出,Push插入顶部,Pop移除顶部
Dictionary<TKey,TValue> 键 不允许 键不允许重复,但值允许重复 键值对访问,通过键来读写,插入重复键将抛出异常
https://blog.csdn.net/ylq1045/article/details/122366380