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

一、关于匿名类型的特性
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值