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];
}
}
ASP.NET匿名对象与集合的使用的更多相关文章
- asp.net mvc 对象和集合序列化
private List<Model.Organization.Organization> GetOrganiztions(){var organizations = new List&l ...
- ASP.NET MVC3控制器传递匿名对象到视图实例
ASP.NET MVC3 + Entity Framework项目中,从控制器传递匿名对象到视图非常常见,原本以为用dynamic能轻松搞定,最后发现我错了: Controller: 代码如下 复制 ...
- java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...
- Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...
- 当类型为dynamic的视图模型遭遇匿名对象
当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型 ...
- MongoDB学习笔记~以匿名对象做为查询参数,方便查询子对象
回到目录 对于MongoDB的封装还在继续,对于不断追求简单的编程还在继续,对于喜欢代码的那么感觉,还在继续... 当你的mongo数据表里有子对象时,尤其是列表对象时,使用官方的驱动很是不爽,要记得 ...
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(五)
ASP.NET 上下文对象 ASP.NET 提供了一系列对象用来给当前请求,将要返回到客户端的响应,以及 Web 应用本身提供上下文信息.间接的,这些上下文对象也可以用来回去核心 ASP.NET 框架 ...
- 关于ASP控件对象的一些简单操作
在线人数 Application.Lock(); Application[).ToString(); Application.UnLock(); Label1.Text = Application[& ...
- C# 匿名对象(匿名类型)、var、动态类型 dynamic
本文是要写的下篇<C#反射及优化用法>的前奏,不能算是下一篇文章的基础的基础吧,有兴趣的朋友可以关注一下. 随着C#的发展,该语音内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑. ...
随机推荐
- Delphi XE中String、ANSIString、TBytes之间的转换
一.string转为ansistring1.直接赋值 (有警告)2.ansistring()类型强制转换.(无警告) 二.ansistring 转为string 1.直接赋值 (有警告)2.strin ...
- Java String练习题及答案
1. 编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕 /** * 编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕 */ publ ...
- uistatusBar 详解
成功的方法: 方法1.隐藏应用程序内所有的StatusBar 第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar ap ...
- 解决xib布局方式支持ios6,ios7
xcode5 中的界面布局 根据sdk 分成ios7.0 and Later 和 ios6.1 and Earlier 两种,那如何xib同时支持 ios6 和ios7 的界面呢 方法如下: 在xco ...
- 【CentOS】centos如何修改你的主机名
转载地址:https://www.linuxidc.com/Linux/2014-11/109238.htm ============================================= ...
- 关于spring session redis共享session的跨子域的处理
安装完redis, spring端只要下面这两个bean配置上就可以用了 <?xml version="1.0" encoding="UTF-8"?> ...
- JS --- trim() 函数
trim()是一个很适用的方法,作用是去除字符串两边的空白,但是js本身并未提供这个方法,下面介绍js使用trim()的方法. 1.通过原型创建字符串的trim() //去除字符串两边的空白 Stri ...
- [转]Mysql中的SQL优化与执行计划
From : http://religiose.iteye.com/blog/1685537 一,如何判断SQL的执行效率? 通过explain 关键字分析效率低的SQL执行计划. 比如: expla ...
- 在EntityFramework6中执行SQL语句【转】
在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如 ...
- CentOS7配置Mysql热备份
Mysql 的安装: 本人习惯讲安装包放在 /usr/local/src/ ①.[root@localhost ~]#cd /usr/local/src/ ②.[root@localhostsrc]# ...