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#开发文档去总结的,有摘抄有总结所以放心食用!这还是委托的基本概念与基本用法,希望你们
能理解并动手操作!仔细思考委托的实现与用法!

 

posted @ 2019-03-07 23:45  橙发  阅读(271)  评论(0编辑  收藏  举报