C#关键字详解第五节
2024-10-01 00:55:42
最近有点忙于追剧《人民的名义》所以并未及时更新,所以大家理解理解,哈哈,这部剧很不错!推荐大家去 看看!下面我们继续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++ 画星号图形——空心梯形(核心代码记录)
- NLog 通过http保存日志
- lsof
- “耐撕”团队 2016.04.07 站立会议
- mysql 判空
- apache2反向代理node.js应用
- linux源代码阅读笔记 高速缓冲区管理
- Socket服务端口长连接最多能支持多少?
- iOS开发之17个常用代码整理
- Window.open 实现导航与打开窗口,导航到一个特定链接地址,也可以打开一个新的浏览器窗体
- Unique Binary Search Trees 解答
- python map, reduce,filter 使用
- 初始化时查看combox的文本内容
- swift 之归档和解归档
- (网页)HTMl5的sessionStorage和localStorage
- cp 拷贝
- JavaScript学习 - 基础(五) - string/array/function/windows对象
- (转载)spring单例和多例详解。如何在单例中调用多例对象
- MySQL库中表名忽略大小写设置的影响
- ES6对抽象工厂模式与策略模式结合的实践
热门文章
- C# 数据库访问
- 【转】SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系 .
- 快速访问GitHub
- yum -y --downloadonly --downloaddir=/root/ruiy update
- Spark SQL读parquet文件及保存
- Codeforces Round #239 (Div. 1)
- [Swift通天遁地]九、拔剑吧-(4)使用开源类库创建可滑动的Segment分段控件
- ACM算法目录
- 【BZOJ3294/洛谷3158】[CQOI2011]放棋子(组合数+DP)
- JSP执行原理图