• C#其它特性(可空类型,空合并操作符,匿名方法)


    1.可空类型:表示在值类型的正常取值范围内再加上一个null值

      (1)结构:可空类型是泛型结构Nullable<T>的实例,其声明为:public struct Nullable<T> where T : struct,语法T?是Nullable<T>的简写形式,这两种形式是等效的:

               Nullable<int> myNullableInt = new Nullable<int>(),等价于int ? myNullableInt = null;

      (2)可空类型包含以下实例成员:

        1).HasValue:只读属性,判断是否有值,如果当前值非空,返回true,否则返回false

        2).Value:只读属性,如果当前值非空,可以正常访问,否则说明Value不包含有意义的值,此时访问Value时会抛出异常InvalidOperationException

        3).GetValueOrDefault():实例方法,如果当前值非空(HasValue为true),返回Vlaue的值,否则返回T类型的默认值(即私有字段value的默认值)

        4).GetValueOrDefault (T defaultValue):实例方法,如果当前值非空(HasValue为false),返回Vlaue的值,否则返回默认值defaultValue

    2.空合并操作符

      空合并即  ??     他会对左右两个操作数进行判断:如果左边的书不为null,则返回左边的书,如果左边的书为null,则返回右边的书,这个操作符可以用于可空类型和引用类型,但是不能用于值类型,因为??

      会将左边的数和null进行比较,值类型是不能与null比较的。

      例子:

        int ? nullable = null;

        int ?  nullhasvalue = 1;

        int  temp = nullable??12 = 12;

        int temp1 = nullhasvalue??123 = 1;

    3.匿名方法

      就是没有名字的方法,所以只能在定义的时候调用,其他时候无法调用。

      class Program
           {
              delegate void VoteDelegate(string name);
              static void Main(string[] args)
              {
                  VoteDelegate votedelegate = delegate(string nickename) { Console.WriteLine("{0}来投票了", nickename); };
                  votedelegate("张三");
                  Console.Read();
              }
            }

      以上代码的好处:使用了匿名方法,则不需要单独定义一个vote方法,减少了代码行数,更有利于程序阅读

    111
  • 相关阅读:
    Cs231n课堂内容记录-Lecture1 导论
    Linux实时查询GPU使用命令
    导出excel的简单方法
    正则表达式的一些应用
    4、Python语法之变量
    javaScript中对typeof 和 instanceof 的使用及理解
    JavaScrpt 变量作用域
    真香的flex弹性布局
    css调试与样式优先级
    css3新样式
  • 原文地址:https://www.cnblogs.com/zwj-199306231519/p/11688616.html
Copyright © 2020-2023  润新知