• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET匿名对象与集合的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
一、关于匿名类型的特性
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];
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
从ASP.NETWebAPI2(C#)开始说起发布时间:2022-07-10
下一篇:
关于ASP.NET与CLR相互关系的一些总结发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap