zoukankan      html  css  js  c++  java
  • c# 可空类型,语法糖,lambda,命名规则(Pascal 帕斯卡命名,Camel 驼峰命名),注释,封装,继承,多态

    c# 可空类型,语法糖,lambda,命名规则(Pascal 帕斯卡命名,Camel 驼峰命名),注释,封装,继承,多态

    ------------------C#中的?可空类型-?-??----------------

    C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。在处理数据库和其他包含可能未赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型的功能特别有用。

    ? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。

    int? i =1; 等同于:

    Nullable<int> i = new Nullable<int>(3);

    int a; //默认值为0

    int? b; //默认值为null

    ??:双问号可用于判断一个变量在为 null 时返回一个指定的值。

    string str = null;

    string str1 = str ?? "kkk"; //如果问号左边的变量是空值,则赋予右边的值。

    ---------------语法糖-----------------------------
    1.简化属性

    private int _result;

    public int result

    {

      get {return _result;}

      private set{_result = value;}

    }

    简写:public int result{get;private set;}

    2.委托

    public delegate void xxxEventHandler();

    xxxEventHandler xx = new xxxEventHandler(Method);

    简写:Action xx = () => Method;

    3.集合

    List<int> xxx = new List<int>();

    xxx.Add(1);

    xxx.Add(2);

    简写:List<int> xxx = new List<int>(){1,2};

    4.使用完毕后自动释放资源(Using || try finally)

    注:使用Using释放资源的对象都必须继承IDisposable接口。

    using(SqlConnection conn = new SqlConnection("数据库连接字符串"))

    {

      ...; //用于return数据库数据,不用写Close方法了

    }

    5.类型实例化

    A a = new A();

    a.name = "kk";

    a.age = 1;

    简写:A a = new A(){name = "kk",age = 1};

    --------------lambda---------------------------------------

    访问修饰符 修饰符 返回值类型 方法名(参数列表) => 表达式;
    public static int Add(int a, int b) => a + b;
    Lambda的本质就是方法(匿名方法)
    Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"
    x=>x.id

    -------------------命名规则--------------------------
    C#变量命名规则Pascal 帕斯卡命名

    当有多个单词组成变量或方法,每个单词首字母大写

    常用于:类名 属性 方法名 接口

    Camel 驼峰命名

    多个单词出现,首单词首字母小写,其他单词首字母大写

    常用于:变量,字段

    --------------------注释-----------------------
    单行注释//

    多行注释
    /*

    *

    */

    文档注释

    /// <summary>

    /// ...

    /// <summary>

    ---------------C#可以做什么-------------------------------
    C#基于.NET Framework 和 .NET CORE平台

    Client/Server 客户端/服务端

    windows桌面应用程序

    winform 2D

    WPF 3D

    Browser/Server 浏览器/服务端

    Web程序 MVC5 WebForm
    --------------------------封装,继承,多态-------------------------
    封装:隔离,数据安全;内部修改保持稳定;提供重用性;
    public:公开
    private:私有,只有类的内部可以访问
    protected:受保护的,类的内部获取子类可以访问
    internal:内部的,同一程序集dll,exe可以访问

    继承:去掉重复代码;可以实现多态;侵入性很强的类关系。

    多态:相同的变量、相同的操作,但是不同的实现

       方法的重载 接口&实现 抽象类&实现 继承

  • 相关阅读:
    数据表管理admin
    HDU 5057
    HDU 5056
    HDU 6035(树形dp)
    CodeForces 586D
    Codeforces 940D
    CodeForces 820C
    TOJ4114(活用树状数组)
    2017CCPC中南地区赛 H题(最长路)
    CodeForces 544C (Writing Code)(dp,完全背包)
  • 原文地址:https://www.cnblogs.com/csj007523/p/14911835.html
Copyright © 2011-2022 走看看