C#关键字详解第五节
最近有点忙于追剧《人民的名义》所以并未及时更新,所以大家理解理解,哈哈,这部剧很不错!推荐大家去 看看!下面我们继续C#关键字解释! const:常量
一般我们说常量都是以PI(3.14)等举例,因为PI在数学上是表示圆周率的近似小数后余2位值,在计算机中它 被运用时是不允许被改变的!因为如果他被改变了那么结果的取值就会出现误差,这在科学精算中是绝对不允 许被出现的!所以在计算机中它也叫做常量,那么他和变量有什么区别呢?聪明的朋友应该知道,既然变量不 可被改变他的值,那么变量不就是反其道而行之吗?没错!这就是他们的最基本区别!常量多用于多次使用的 编程环境中,他的出现意味了计算机中的固定代码有了名词使用!废话不多说,下面看个例子!
const string abc="";
abc =abc+"";
Console.WriteLine(abc);
在编译环境中他是不允许被运行的!因为他的存在意味了abc的值只能是字符类型的123而不能在其他地方调用 更改!!记住了!千万不要当做变量去修改他的初始值!记住!存在既有价值! decimal:高精度数
这个关键字我们在平常运用的很少,可以说如果你不是金融行业或者精度科学工作者,那么在工作中你是完全 不需要这个东西的!他表示128位的数据类型,此处我运用Microsoft的官方文档来解释! 如果希望实数被视为 decimal 类型,请使用后缀 m 或 M,例如:
decimal myMoney = 300.5m; 整型将被隐式转换为 decimal 类型,其计算结果为 decimal。 因此,你可以使用整数文本初始化十进制变量 而不使用后缀,如下所示:
decimal myMoney = ; 在浮点型和 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();
int b = add1();
Console.WriteLine("a的值:{0}",a);
Console.WriteLine("b的值:{0}",b);
}
}
public class Class1
{
public static int Add(int ok)
{
int Number = ;
Number += ok;
return Number;
}
}
public delegate int UseAdd(int abc); //委托了一个int类型的返回方法(带有一个int参数) 委托共有六大属性!
.他可以用来定义有些方法的回调(如上例子就是) .他类似于C++的指针,对C++感兴趣的同学可以去比较他们的区别,不同于C++指针的使用,C#的指针很安全很 贴心!(手动滑稽!) .他最大的牛逼之处(个人认为!)将方法作为一个参数放到实例化的语句中去!如上所示!Class1.Add的静
态方法就被当做参数放到实例化UseAdd的引用中去,当请注意!他没有括号!没有括号!没有括号!所以初学
者一定要记住不要带括号去写委托实例化! .他可以对事件中的多个方法去调用,这也叫委托的链接! .方法是可以不用去完全匹配委托的类型。但是方法和委托必须具有相同的返回类型。 .C#可以使用匿名方法与lanmbda表达式去搭配食用(口感不错就是有点费牙齿!) 这是我基于C#开发文档去总结的,有摘抄有总结所以放心食用!这还是委托的基本概念与基本用法,希望你们
能理解并动手操作!仔细思考委托的实现与用法!
C#关键字详解第五节的更多相关文章
- C#关键字详解第六节
3.28 日志记录:前段时间参加技能大赛,所以未更新博客,特此补上,第一次写博客,希望自己认真下去,努力,天道酬勤! 比赛给我的感悟很深!古语云:山外有山,强中自有强中手! do:执行语句 说do之前 ...
- C#关键字详解第四节
位 Unicode 字符 char在C#中与C语言不同,他表示的是16位无符号进制的数,在计算机中他是被用来存储字符但是他只能用来存 储一个文字,与string不同string可以存储多个文字或字符, ...
- “全栈2019”Java第五十一章:继承与final关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- C#关键字详解第二节
base:基类 在有些书中base的解释为表示父类,没错,base可以表示父类,但我更想理解成基类,因为更原始更具象,既 然是类,那么他就符合面向对象的设计规则和特点,我们知道面向对象的三个特点是封装 ...
- 【转载】C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern ...
- python关键字详解
今天依旧在啃:<笨方法学python>,其中习题37是复习各种关键字.我本想百度一下记一下就ok了,但是百度出来第一个就Hongten的博客.我才意识到我也有博客,我应该学习他,把这些积累 ...
- Java面试题04-final关键字详解
Java面试题04-final关键字详解 本篇博客将会讨论java中final关键字的含义,以及final用在什么地方,感觉看书总会有一些模糊,而且解释的不是很清楚,在此做个总结,以备准备面试的时候查 ...
- Objective-C 实用关键字详解1「面试、工作」看我就 🐒 了 ^_^.
在写项目 或 阅读别人的代码(一些优秀的源码)中,总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思 的. 相信很多开发者跟我当初一样,只是基本的常用关键字定义属性会使用,但在关键字 ...
- 前端技术之_CSS详解第五天
前端技术之_CSS详解第五天 一.行高和字号 1.1 行高 CSS中,所有的行,都有行高.盒模型的padding,绝对不是直接作用在文字上的,而是作用在“行”上的. <!DOCTYPE html ...
随机推荐
- linux下查看一个文件的属性(ls,lsattr,file,stat)
查看文件属性有多种方法,且这些方法中偏向不同,具体如下:1,ls ls -a 查看所有文件 ls -l 查看详细的属性 2,lsattr 查看文件的扩展属性, 如果文件被 c ...
- Web Tab, Project Properties
https://msdn.microsoft.com/en-us/library/aa983445(v=vs.100).aspx The Web tab of the project Properti ...
- [BZOJ 2199] 奶牛议会
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2199 [算法] 2-SAT [代码] #include<bits/stdc++ ...
- 【POJ 2559】 Largest Rectangle in a Histogram
[题目链接] http://poj.org/problem?id=2559 [算法] 单调栈 [代码] #include <algorithm> #include <bitset&g ...
- 机器学习——Day 3 多元线性回归
写在开头 由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客. 学习教程来源于github的Avik-Jain的100-Days-Of-MLCode 英文版:https:// ...
- 每天学点Linux命令之 vi 命令
来学一个vi的命令.要完成的是在一个只读文件中,删掉一行,然后插入两行. 那只读文件你要修改,用sudo vi 总可以了吧.首先 vi命令进入编辑模式. 在非插入模式中: h 光标左移 l 光标右移 ...
- 316 Remove Duplicate Letters 去除重复字母
给定一个仅包含小写字母的字符串,去除重复的字母使得所有字母出现且仅出现一次.你必须保证返回结果是所有可能结果中的以字典排序的最短结果.例如:给定 "bcabc"返回 "a ...
- canvas杂记
canvas杂记 canvas标签 <canvas width=600 height=400></canvas> //1. 拿到画布 var canvas = document ...
- 2017-5新版ionic3.1 新命令及一些常用命令
ionic3.1的新命令: # ionic cordova --help //== 查看命令 # ionic cordova resources // 其中 icon.png (1024*1024) ...
- ScrollView在调试状态一点击就挂的原因(OnMouseActivate)
这几天做的一个任务是做一个Dialog,需要在这个Dialog中添加一个自定义的CSrollvew类,但是遇到一个比较扯淡的问题,程序直接运行时可以的,调试状态下一点击CSrollview就挂了.而且 ...