• C#关键字详解第五节


    最近有点忙于追剧《人民的名义》所以并未及时更新,所以大家理解理解,哈哈,这部剧很不错!推荐大家去
    
    看看!下面我们继续C#关键字解释!
    
    const:常量
    一般我们说常量都是以PI(3.14)等举例,因为PI在数学上是表示圆周率的近似小数后余2位值,在计算机中它
    
    被运用时是不允许被改变的!因为如果他被改变了那么结果的取值就会出现误差,这在科学精算中是绝对不允
    
    许被出现的!所以在计算机中它也叫做常量,那么他和变量有什么区别呢?聪明的朋友应该知道,既然变量不
    
    可被改变他的值,那么变量不就是反其道而行之吗?没错!这就是他们的最基本区别!常量多用于多次使用的
    
    编程环境中,他的出现意味了计算机中的固定代码有了名词使用!废话不多说,下面看个例子!
    const string abc="123";
    abc =abc+"456";           
    Console.WriteLine(abc);
    在编译环境中他是不允许被运行的!因为他的存在意味了abc的值只能是字符类型的123而不能在其他地方调用
    
    更改!!记住了!千万不要当做变量去修改他的初始值!记住!存在既有价值!
    
    decimal:高精度数
    这个关键字我们在平常运用的很少,可以说如果你不是金融行业或者精度科学工作者,那么在工作中你是完全
    
    不需要这个东西的!他表示128位的数据类型,此处我运用Microsoft的官方文档来解释!
    
    如果希望实数被视为 decimal 类型,请使用后缀 m 或 M,例如:
    decimal myMoney = 300.5m;
    
    整型将被隐式转换为 decimal 类型,其计算结果为 decimal。 因此,你可以使用整数文本初始化十进制变量
    
    而不使用后缀,如下所示:
    decimal myMoney = 300;
    
    在浮点型和 decimal 类型之间不存在隐式转换;因此,必须使用强制转换以在这两个类型之间转换。 例如:
    decimal myMoney = 99.9m;
    double x = (double)myMoney;
    myMoney = (decimal)x;
    基本的介绍就是这样,具体的我也不做追究了,毕竟高精度科学计算离我还很远,当然我希望能有比我更负责
    
    任的人去增加他的使用介绍!
    
    delegate:委托
    这是今天的重头“大人物”--委托!关于委托网上解释的太多了(当然包含我的,并不是说别人的解释不好,
    
    而是我现在自己写关键字详解所以今天我来表达我自己的看法!大佬勿喷!)
    
    他是面向对象的重要产物,他在面向对象设计原则中起到了重中之重的作用!他也是一个大坑,曾经坑过很多
    
    菜鸟与大神!比如泛型委托!today!我将阐述他的基础版(高级的泛型委托后期会详细介绍)敬请期待!
    
    在电影中最终boss在除掉别人的时候往往会托人下手(但是boss也是有杀人的本领的!),杀手领了钱去为
    
    boss除掉对手!这种关系就是委托的一种实现!在计算机编程中如果我们编写了一种方法,但是我们不会去直
    
    接调用这个方法的时候委托的作用就出来了。这是一个例子:
    class Program
    {
        static void Main(string[] args)
        {
            //委托的用法!
            UseAdd add = new UseAdd(Class1.Add);
            UseAdd add1 = new UseAdd(Class1.Add);
            int a = add(25);
            int b = add1(23);
            Console.WriteLine("a的值:{0}",a);
            Console.WriteLine("b的值:{0}",b);
        }
    }
    public class Class1
    {
        public static int Add(int ok)
        {
            int Number = 123;
            Number += ok;
            return Number;
        }
    }
    public delegate int UseAdd(int abc); //委托了一个int类型的返回方法(带有一个int参数)
    
    委托共有六大属性!
    1.他可以用来定义有些方法的回调(如上例子就是)
    
    2.他类似于C++的指针,对C++感兴趣的同学可以去比较他们的区别,不同于C++指针的使用,C#的指针很安全很
    
    贴心!(手动滑稽!)
    
    3.他最大的牛逼之处(个人认为!)将方法作为一个参数放到实例化的语句中去!如上所示!Class1.Add的静
    态方法就被当做参数放到实例化UseAdd的引用中去,当请注意!他没有括号!没有括号!没有括号!所以初学
    者一定要记住不要带括号去写委托实例化!
    
    4.他可以对事件中的多个方法去调用,这也叫委托的链接!
    
    5.方法是可以不用去完全匹配委托的类型。但是方法和委托必须具有相同的返回类型。
    
    6.C#可以使用匿名方法与lanmbda表达式去搭配食用(口感不错就是有点费牙齿!)
    
    这是我基于C#开发文档去总结的,有摘抄有总结所以放心食用!这还是委托的基本概念与基本用法,希望你们
    能理解并动手操作!仔细思考委托的实现与用法!
  • 相关阅读:
    【转】IOS缓存机制详解
    Soul网关插件之Sofa
    Soul网关代理Dubbo插件的使用
    Soul网关默认Divide插件的使用
    高性能网关Soul源码调试环境搭建
    大厂面试系列一些问题的解答
    大厂面试系列一些问题的答案
    大厂面试系列(十三):Java基础
    大厂面试助手(十二):场景和设计
    Action Filters for ASP.NET MVC
  • 原文地址:https://www.cnblogs.com/sandaman2019/p/10493402.html
Copyright © 2020-2023  润新知