APS.NET MVC + EF (00)

目录:

  • 命名参数
  • 隐式类型
  • 匿名类型
  • dynamic
  • 可空类型
  • 扩展方法
  • 泛型方法

1.命名参数

参数顺序一致," : " 指定参数。

private static string ShowComputer(string cpu, string ram, string disk)

{

return "My computer ... Cpu:" + cpu + " Ram:" + ram + " Disk:" + disk + " ";

}

static void Main(string[] args)

{

Console.WriteLine(ShowComputer("i3 370M","2G","320G"));

Console.WriteLine(ShowComputer(disk: "320G", cpu: "i3 370M", ram: "2G"));

Console.Read();

}

 

 

 

 

 

 

2.隐式类型

必须在声明的同时赋值,会根据所赋值来自动推断类型

var a=1;

  

3.匿名类型

var stu=new{},通过结合对象初始化器和类型推断,可以创建简单的数据存储对象

var oddsAndEnds = new[]{

new {Name="MVC" , Category="Pattern"}

};

 

 

 

 

4.dynamic类型(动态类型)

静态:编译报错(int i=1),动态:运行报错(dynamic i=1)

static void Main(string[] args)

{

dynamic c = new Person();

c.Name = "abc";

c.Age = 30; //编译时不报错,运行时报错

Console.WriteLine(c.Name);

}

 

 

 

 

 

 

 

 

 

注意:var和Dynamic的区别:
    var只能用于局部变量,不能用字段,参数,声明时必须初始化,类型在编译时就确定了。
    Dynamic可用于类型的字段,方法参数,方法返回值等,可以赋值或被赋值任何类型,不需要类型转换,益于动态特性

5.可空类型

泛型 System.Nullable<T> 变量名 或  快捷语法: int? num1=null; 或 int num2 = num1 ?? 0; 运算符分配默认值、大类型不能赋小类型

6.扩展方法(this string str,多个)

(1)创建一个静态类.Ext

(2)创建静态方法参数(this 类名 name)--指定要扩展的类

(3)自定义规则

能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型

using System.Text.RegularExpressions; //正则表达式命名空间

namespace Extension_Method

{

//类必须为static的

public static class StringHelper

{

//扩展方法必须为静态的

//扩展方法的第一个参数必须由this来修饰(第一个参数是被扩展的对象)

public static bool isEmail(this string _string)

{

return Regex.IsMatch(_string,

@"^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$");

}

}

public static void main(string[] args)

{

string str = "czx@123.com";

Console.WriteLine(str.isEmail()); //调用

}

}

 

 

 

 

 

 

 

 

 

 

 

7.泛型方法(T)

方法名<T>(T a,T b);  调用 方法名(int)(1,2) 或者 方法名(1,1.2)

通过泛型来约束方法中的参数类型,也可以理解为对数据类型设置了参数。使用泛型后,方法中的数据类型则有指定的泛型来约束,即可以根据提供的泛型来传递不同类型的参数。

static void Main(string[] args)

{

//将T设置为double类型

Add<double>(3.3, 4);

//将T设置为int类型

Add<int>(3, 4);

}

//加法运算

private static void Add<T>(T a, T b)

{

double sum = double.Parse(a.ToString()) + double.Parse(b.ToString());

Console.WriteLine(sum);

}

 

 

 

原文地址:https://www.cnblogs.com/shishixiang/p/14011273.html