zoukankan      html  css  js  c++  java
  • 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);

    }

     

     

     

  • 相关阅读:
    又到黄金季节,该跳槽吗?怎么跳?
    分布式事务 6 个技术方案
    15 个 MyBatis 技巧,赶紧收藏吧!
    你的工资被倒挂了吗
    终于知道 Java agent 怎么重写字节码了
    每天的工作,你腻了吗?
    10 分钟轻松学会 Jackson 反序列化自动适配子类
    SpringMVC异步处理的 5 种方式
    Linux Cron 定时任务
    人类简史、软件架构和中台
  • 原文地址:https://www.cnblogs.com/shishixiang/p/14011273.html
Copyright © 2011-2022 走看看