c#语法糖代码——自动属性, 匿名类型,对象与集合初始化器,扩展方法
1 自动属性
public class Student
{
public int ID{get;set;}
}
2 隐式类型(类型推断)
关键字 var(在编译的时候已经确定变量的类型了,编译时把推断的类型替换掉var。并不是弱类型)
作用:只是方便程序员
var i=5;//int
注意:
不能作为类成员的类型
不能作为方法的参数
不能作为返回值
(只能作为局部变量的类型推断)
3 匿名类型
var p1=new {Id=1,Name="coco",Age=22};匿名类中的成员是只读的seal类型的
数组
var intArray=new []{2,3,4,5};
var atrArray=new []{"Hellp","coco"};
var objArray=new[]{new {Name="coco",Age=12},new {Name="bingbing",Age=95}};
var a=intArray[0];
4
对象与集合初始化器
Student stu=new Student(){Id=1,Name="coco",Age=99}//更方便给对象赋值
集合初始化器
List<int>num=new List<int>(){0,1,23,4};
list<student>stus=new list<student>(){new student{Id=1,Name="coco",Age=123},new student{Id=2,Name="kkk",Age=17}};
5 扩展方法(linq中用的很多)
扩展方法主要是在类中另写一个静态的方法,用户不用更改类就可以直接点出来。一般不会用到
声明扩展方法的步骤:
类必须是static,方法是static,第一个参数是扩展的对象,前面个标注的是this(this 参数类型 参数名)。
使用扩展方法必须保证扩展方法已经在当前代码中(即要有相同的命名空间)
扩展方法不属于扩展类的成员,也访问不到要扩展的类的私有变量
eg:
//定义
public static class StingExt
{
pulic static bool isEmail(this string str)
{
return Regex.IsMatch(str,@"^\w+@\w+\.\w+$");
}
}
//使用
string email="zxh@itcast.cn"
cw{emial.IsEmail();}
转载于:https://www.cnblogs.com/lv-sally/p/4729213.html
- 点赞
- 收藏
- 分享
- 文章举报
- c#语法糖代码——自动属性, 匿名类型,对象与集合初始化器,扩展方法
- C#中的自动属性、隐式类型var、对象初始化器与集合初始化器、扩展方法
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C#特性 学习笔记(对象初始化器 匿名类型 扩展方法)
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法 (转)
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法
- 对象初始化器、集合初始化器、自动属性、匿名类型
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法 (转)
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法
- 谈谈”隐藏类型局部变量、扩展方法、对象与集合初始化器、匿名类型“
- C#3.0 之 自动属性 对象初始化器,集合初始器,扩展方法
- C# 3.0 新特性 学习(一):隐式类型化本地变量、自动属性、初始化器(对象初始化器和集合初始化器)
- [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Ext
- [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型