标签:
一、关于匿名类型的特性 1、匿名类型 定义:匿名对象 var vobj = new { id = "编号", title = "标题", content = "内容" }; 访问: var id = vobj.id; 结果:编号 2、结合匿名数组应用 定义:集合初始化器 var article = new[] { new { id = "编号一", title = "标题一", content = "内容一" } new { id = "编号二", title = "标题二", content = "内容二" } }; 访问: var title = article[1].title; 结果:标题二 3、结合匿名集合List集合 定义: var list = article.ToList(); //Array转为List list.Add(new { id = "编号三", title = "标题三", content = "内容三" }); article = list.ToArray(); //List转为Array 访问: var content = article[2].content; 结果:内容三 4、结合JavaScriptSerializer序列化 var str = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(list); 结果:JSON字符串 5、结合结合控件 DropDownList ddl = new DropDownList(); ddl.DataSource = list; ddl.DataTextField = "title"; ddl.DataValueField = "id"; ddl.DataBind(); 注:var关键字是C# 3.0开始新增的特性,只能用于局部变量使用(隐式类型变量) 6、Dictionary集合 Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("key", "value"); 注:键不允许重复 7、NameValueCollection集合 NameValueCollection col = new NameValueCollection(); col.Add("key", "value"); 注:如果键值相同则合并 8、Hashtable集合 Hashtable ht = new Hashtable(); ht.Add("key","value"); 注:键不允许重复 9、List集合 List<string> list = new List<string>(); list.Add("String"); 注:任意,没有键/值 10、集合与LINQ检索表达式 using System.Linq; using System.Collections; int[] items = new int[] { 1, 2, 3, 4, 5 }; IEnumerable<int> ints = from item in items where item > 2.5 select item; foreach (var p in ints) { Console.WriteLine(p); } 关于:IEnumerable 实例应用:通过Linq查找再遍历,然后以JSON的格式输出到客户端; 11、集合迭代器 public System.Collections.IEnumerator GetEnumerator() { string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" }; for (int i = 0; i < days.Length; i++) { yield return days[i]; } }
标签:
原文地址:http://www.cnblogs.com/sntetwt/p/4878299.html