//List
List<string> list = new List<string>() { "lista", "listb", "lista" };
list.Add("listc");
List<string> list1 = new List<string>(list);
//删除包含“a”的
list1.RemoveAll(r => r.Contains("a"));
List<string> list2 = new List<string>();
//追加集合
list2.AddRange(list1);
//修改
list[0] = "a1";
//按值删除
list.Remove("a1");
//按索引删除
list.RemoveAt(0);
//插入值
list.Insert(0, "a0");
//插入集合
list.InsertRange(1, list2);
//从第2个值开始删除,删1个
list.RemoveRange(1, 1);
List<Obj> ob = new List<Obj>() { new Obj() { Code = "a", Name = "n" }, new Obj { Code = "a2", Name = "n2" } };
ob.RemoveAt(0);
ob.Add(new Obj() { Code = "a3", Name = "n3" });
ob.RemoveAll(reA => reA.Name == "n2");
//去重
var c=s.Distinct().Select(ss=>ss);
//ArrayList
//ArrayList是.Net Framework提供的用于数据存储和检索的专用类,它是命名空间//System.Collections下的一部分。它的大小是按照其中存储的数据来动态扩充与收缩的。
//ArrayList的用法与List相同,只是ArrayList存的是Object类型,非类型安全,需要装箱拆箱,而List是泛型。
List<string> list0 = new List<string>();
list0.Add("ee");
ArrayList aList = new ArrayList();
aList.Add("a");
aList.Add(1);
aList.AddRange(aList);
//Dictionary
//它是键值对集合,存储的是泛型,是顺序存储的
//在代码测试时发现key是整数型Dictionary的效率比Hashtable快,如果key是字符串型,Dictionary的效率没有Hashtable快
Dictionary<string, string> dc = new Dictionary<string, string>();
dc.Add("a1","a");
dc.Add("b1","b");
dc.Add("c1","c1");
//根据键修改值,要是没有这个键则新增一个键值对
dc["c"] = "dd";
Console.WriteLine("根据建取得值:"+dc["a1"]);
if (dc.ContainsKey("b1"))
{
Console.WriteLine("是否包含指定的键");
}
if (dc.ContainsValue("aa"))
{
Console.WriteLine("是否包含指定的值");
}
foreach (string k in dc.Keys)
{
Console.WriteLine("遍历键" + k);
}
foreach (string v in dc.Values)
{
Console.WriteLine("遍历值" + v);
}
foreach (KeyValuePair<string, string> kv in dc)
{
Console.WriteLine("遍历键与值:"+kv.Key+"+"+kv.Value);
}
//根据键删除键值对
dc.Remove("c1");
var v1=dc.Where(wh=>wh.Key=="a1");
var v=dc.Select(se => se.Key);
//将字典存到字典中
Dictionary<string, Dictionary<string,string>> dc2 = new Dictionary<string, Dictionary<string,string>>();
dc2.Add("d",dc);
Console.WriteLine(dc2["d"]["a1"]);
foreach(KeyValuePair<string, Dictionary<string, string>> kv in dc2)
{
foreach (KeyValuePair<string,string> kv2 in kv.Value)
{
Console.WriteLine(kv2.Value);
}
}
//哈希表(Hashtable)
//Hashtable是System.Collections命名空间提供的一个容器
//它是键值对存储数据,键与值都是object类型
Hashtable ht = new Hashtable();
ht.Add("a1","a");
ht.Add("b1","b");
ht.Add(3,"c");
//根据键修改值,要是没有这个键则新增一个键值对
ht[1] = "cc";
//取得值,要是值得数据有int等多种类型,则报类型错误
foreach (string s in ht.Values)
{
Console.WriteLine(s);
}
//取得键与值
foreach (DictionaryEntry dce in ht)
{
Console.WriteLine(dce.Key+"+"+dce.Value);
}
Hashtable ht2 = new Hashtable();
//将Hashtable添加到新的Hashtable中
ht2.Add(1,ht);
//删除
ht.Remove("a1");
c#中的List、ArrayList、Hashtable、Dictionary
最新推荐文章于 2024-03-01 16:41:50 发布