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];
    }
}
时间: 2024-12-26 03:20:17

ASP.NET匿名对象与集合的使用的相关文章

asp.net mvc 对象和集合序列化

private List<Model.Organization.Organization> GetOrganiztions(){var organizations = new List<Model.Organization.Organization>(); organizations.Add(new Model.Organization.Organization{Id = "1",Name = "一汽",}); organizations.A

C#匿名对象序列化

//匿名对象序列化 var obj=new { Name = "张三", Age = 15 }; Console.WriteLine(JsonConvert.SerializeObject(obj)); //匿名集合序列化 List<object> list = new List<object>(); list.Add(new { Name = "张三", Age = 15 }); list.Add(new { Name = "张三

匿名对象,封装,构造代码块、静态代码块、内部类、匿名内部类

匿名对象:没有引用类型变量指向的对象就称为匿名对象. 匿名对象的主要作用:简化书写 匿名对象主要用于两种应用场景: 1.如果一个对象的方法只会调用一次的时候,然后该对象就不再使用了,这时候就可以使用匿名对象 2.作为参数传递 封装的步骤: 1.私有化要封装的属性 2.根据需求提供对应的get或set方法 封装的好处: 1.提高了数据的安全性 2.操作简单 3.隐藏了实现 封装一定会用上的场景:如果是实体类的属性,在开发过程中,全部都会封装起来 构造代码块:创建一个对象的时候,给对象进行统一的初始

ASP.NET系统对象

一.ASP.NET 系统对象        Request:用来获取客户端在Web请求期间发送的值,如URL参数,表单参数        Response:用来负者返回到客户端的HTTP输出        Application:作用于整个程序运行期的状态对象,可用来保存整个应用程序的配置参数        Session:会话状态保持对象        Cookie:客户端保持会话信息的方式        Server:用于进行一些服务器端处理的工具对象,如URL编码解码,页面转发      

[译] ASP.NET 生命周期 – ASP.NET 上下文对象(五)

ASP.NET 上下文对象 ASP.NET 提供了一系列对象用来给当前请求,将要返回到客户端的响应,以及 Web 应用本身提供上下文信息.间接的,这些上下文对象也可以用来回去核心 ASP.NET 框架特性. 上下文对象提供了应用,当前请求,与当前请求相关联的响应的信息.也提供了对多数重要的 ASP.NET 平台服务的访问,比如安全与状态数据.我们可以在 MVC 框架的 controllers 和 views 中使用上下文对象来根据当前的请求或者应用状态数据来调整我们应用的响应.在创建模块或者处理

关于ASP控件对象的一些简单操作

在线人数 Application.Lock(); Application["num"] =(Convert.ToInt32(Application["num"]) + 1).ToString(); Application.UnLock(); Label1.Text = Application["num"].ToString(); Session Application传值 Session["user"] = TextBox1.

ASP内置对象—Request、Response 、Server、Application 、ObjectContent(一)

ASP提供的可用在脚本中的内置对象,使用户更容易的收集通过浏览器请求发送的信息.响应浏览器以及存储用户信息,简化了开发人员的工作. 常见内置对象如下: Request 对象,用于访问任何使用HTTP请求传递的信息. Response 对象,用于控制发送给浏览器的信息. Server 对象,用于访问服务器上的方法和属性. Application 对象,用于共享应用程序信息. ObjectContent 对象,用于控制ASP脚本初始化事务. 每个内置对象都有各自的属性(Property).方法(Me

MongoDB学习笔记~以匿名对象做为查询参数,方便查询子对象

对于MongoDB的封装还在继续,对于不断追求简单的编程还在继续,对于喜欢代码的那么感觉,还在继续... 当你的mongo数据表里有子对象时,尤其是列表对象时,使用官方的驱动很是不爽,要记得很多新的对象类型,麻烦,所以,将它进行封装,让GetModel支持匿名参数! 表结构可能是这样 希望查询的语句变成这样 看了上面的语句感觉挺酷吧,呵呵,下面看一下实现的代码,今天下午写的,呵呵! public IEnumerable<TEntity> GetModel<U>(U template

ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)

Response (应答)对象 Request 对象,用于在HTTP请求期间,访问任何客户端浏览器传递给服务器的信息,包括通过URL传递的参数信息.使用GET方法或POST方法传递的HTML表单数据.Cookie和用户认证信息等. 页面重定向,并传递参数(防乱码处理) Response.Redirect("~/modifyReader.aspx?key="+ Server.UrlEncode(key)); Cookie的存储 通过Response对象的Cookie集合存储. <s