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 ...
随机推荐
- sed 之 模式空间 & 保持空间
模式空间:容纳当前输入行的缓冲区: 保持空间:作为辅助的一个缓冲区,可以和模式空间进行交互,但是命令不能直接作用于保持空间. 由上面定义可以知道,模式空间和保持空间是两个独立的缓冲区,可以进行交互,命 ...
- java反射中getDeclaredMethods和getMethods的区别
getDeclaredMethods() 返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共.保护.默认(包)访问和私有方法, ...
- 关于EditText的android:maxLength属性的注意事项
一直以为在xml布局文件中对EditText添加 android:maxLength="30";属性是控制EditText字符数的.想当然的以为一个中文占2个字符,一个英文占1个字 ...
- POJ 1663:Number Steps
Number Steps Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13758 Accepted: 7430 Des ...
- Oracle查询列重命名
select count(*) 呼入量 from crm_cisco_call_detail
- Linux 文件和目录操作 - cd - 切换目录
命令详解 重要星级: ★★★★★ 功能说明: cd 命令是 "change directory" 中每个单词的首字母缩写,其功能是从当前工作目录切换到指定工作目录. 语法格式: c ...
- 洛谷P1341 无序字母对(欧拉回路)
P1341 无序字母对 题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. 输入输出格式 ...
- OpenResty / Nginx模块,Lua库和相关资源的列表
OpenResty / Nginx模块,Lua库和相关资源的列表 什么是OpenResty OpenResty是一个成熟的网络平台,它集成了标准的Nginx核心,LuaJIT,许多精心编写的Lua库, ...
- BZOJ 3514 LCT+主席树
思路: //By SiriusRen #include <bits/stdc++.h> using namespace std; ; ],fa[N],minn[N],rev[N],q[N] ...
- [转]Android | Simple SQLite Database Tutorial
本文转自:http://hmkcode.com/android-simple-sqlite-database-tutorial/ Android SQLite database is an integ ...