博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#常用特性
阅读量:6036 次
发布时间:2019-06-20

本文共 2350 字,大约阅读时间需要 7 分钟。

1、服务器控件ID.NET服务器控件有三个ID,即:ID,ClientID和UniqueIDID为服务器控件的服务器标示,在服务器代码中通过ID来唯一区分服务器控件;ClientID是服务器控件在转化成HTML元素之后在客户端的ID,为了防止出现命名冲突,ASP.NET 为页上的各个服务器控件自动生成一个唯一的 ClientID 值。ClientID 值是通过连接控件的 ID 值和它的父控件的 UniqueID 值生成的。生成的 ID 的各个部分以下划线字符 (_) 分隔;UniqueID是服务器控件的唯一的、以分层形式限定的标识符,它也是服务器控件转化成HTML元素之后在客户端的name标识;2.HttpContext.Currentvar context = HttpContext.Current;3.自动属性1)自动属性必须包含get set,如果是只读的就添加private关键字 2)Attributes 不允许使用自动属性,这里还是推荐使用常规的属性书写方式public class Point{    public int X { get; set; }//自动化属性    public int Y { get; private set; }//带修饰符的自动化属性    public int T { get; set; }}4.对像和集合初始化器class Test_45{    Point p = new Point { X = 23, T =2};//可以通这种方式来实例化一个对像    //初始化一个集合    List
PoList = new List
{ new Point {X =2,T =3}, new Point {X =4,T=2}, new Point {X=23,T =90} };}5.扩展方法扩展方法是一个静态方法,可以关联在一种类型上,所以这个方法可以在他处调用。这样仿佛给某一个类型添加了方法!而实际上我们并没有改变原有的代码。//对Point 扩展了一个方法GetZeroPointpublic static Point GetZeroPoint(this Point p){ return new Point { X = 0, T = 0 };}6.Lambda表达式 //Lambda表达式是一种简化的匿名方法,有如下几种表现形式//(int x)=>{return x+1;}//(int x)=>x+1;//x=>x+1;//(x,y)=>x+y;public void TestLambda(){ List
pList = new List
{ new Point {X =2,T =3}, new Point {X =4,T=1} }; List
ppList = new List
(); ppList = pList.FindAll(p => p.X > 2 && p.T < 3);}7.范型8.匿名方法string[] words = sentence.Split(' ');string reversed = words.Aggregate((workingSentence, next) => next + " " + workingSentence);bool b = words.All(w => w.Length > 5);bool b2 = words.Any(w => w.Length > 10);9.隐式类型变量var num = 5;var a = new[] { 2, 5, 6, 7 };var anon = new { Name = "Terry", Age = 34 };var list = new List
();10.迭代器string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };public System.Collections.IEnumerator GetEnumerator(){ for (int i = 0; i < m_Days.Length; i++) { yield return m_Days[i]; }}11.LINQ检索表达式int[] items = new int[] { 1, 2, 3, 4, 5 };IEnumerable
ints = from item in items where item > 2.5 select item;foreach (var p in ints){ Console.WriteLine(p);} 12.匿名类型匿名类型把一系列的只读属性封装在一个对象里面,而并没有指定这个对象的类型编译器会给这个对象类型一个名字,但是这个名字在代码级别是不可用的。var card = from c3 in cards where c3.ID > 13 //select c3; select new {MyID= c3.ID,MyPassword= c3.Password };foreach (var item in card ){ Console.WriteLine(item.MyID.ToString()+"---"+item.MyPassword );}

 

转载地址:http://agohx.baihongyu.com/

你可能感兴趣的文章
zabbix在configure时候遇到的问题(Ubuntu\debian)
查看>>
php 将时间戳转换为多少分钟前
查看>>
基于Spark的用户行为路径分析的产品化实践
查看>>
sed命令n,N,d,D,p,P,h,H,g,G,x解析
查看>>
Web前端—— 文件存放位置规范
查看>>
Harbor镜像仓库部署
查看>>
关于Linux中nohup.out日志过大问题
查看>>
JQuery——表单对象属性筛选选择器和特殊选择器this
查看>>
exp常用语法
查看>>
cacti监控硬盘、内存、CPU
查看>>
redis的PHP扩展包安装方法
查看>>
通过微软认证所需费用
查看>>
mysql 备份命令
查看>>
关于NGINX异常
查看>>
linux命令:samb文件共享服务器配置
查看>>
Docker容器引导完整CentOS
查看>>
CISCO 交换机,端口安全配置实例。
查看>>
我看51CTO
查看>>
nodeJS调用函数
查看>>
霍金李开复张亚勤等纵论AI:关于创造和毁灭、创业和机遇的碰撞
查看>>