对象初始值设定项
StudentName student = new StudentName
{
FirstName = "Craig",
LastName = "Playstead",
ID = 116
};
List<StudentName> students = new List<StudentName>()
{
new StudentName {FirstName="Craig", LastName="Playstead", ID=116},
new StudentName {FirstName="Shu", LastName="Ito", ID=112, },
new StudentName {FirstName="Stefan", LastName="Rißling", ID=113, },
new StudentName {FirstName="Rajesh", LastName="Rotti", ID=114, }
};
使用Lambda表达式:
delegate T delegateMul<T>(T x, T y);
static T Multi_Mul<T>(T[] nums, delegateMul<T> func)
{
...
}
static void Main(string[] args)
{
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
int pro;
pro = Multi_Mul<int>(nums,(int a, int b) => {return a * b;});
Console.WriteLine("乘积:"+pro);
Console.Read();
}
扩展方法:
扩展方法是定义在静态类内部的静态方法,开发人员可以像用实例方法那样来使用扩展方法。根据C#的语法规定,实例方法只能通过建立一个实例对象才能调用,不能通过类名来调用,相反的,静态方法只能通过类名来调用。而扩展方法提供了一个新的机制可以在对象实例上调用静态方法。扩展方法主要用于在不改变现有的类型代码下,扩展现有类型的功能。所扩展的功能只限于当前上下文有效,并不会对原有类型的定义的代码产生变化。它的一般声明格式如下:
public static class 类名
{
public static 返回类型 扩展方法名 (this 要扩展的类型 参数名)
{
函数体;
}
}
匿名类型:
var v = new { Amount = 108, Message = "Hello" };
匿名类型是由一个或多个公共只读属性组成的类类型。不允许包含其他种类的类成员(如方法或事件)。
分部类和方法:
可以将
public partial class Employee
{
public void DoWork()
{
}
}
public partial class Employee
{
public void GoToLunch()
{
}
}