随笔分类 - C#语言知识
主要关于C#语言的随笔和学习
摘要:用一段代码说明异常处理的用法: 1 public void SomeMethod() 2 { 3 try 4 { 5 //需要得体的进行恢复或清理的代码 6 } 7 catch(InvalidOperationException) 8 { 9 //需要从InvalidOperationExcepti
阅读全文
摘要:文件涉及的内容: 设计公开事件类型 编译器如何实现事件 设计侦听事件的类型 显式实现事件 事件:定义了事件成员的类型允许类型通知其他对象发生特定的事情。 CLR事件模型以委托为基础,委托是调用回调方法的一种类型安全的方式,对象凭借调用方法接收他们订阅的通知。 定义了事件成员的类型要求能够提供以下功能
阅读全文
摘要:System.object类型提供了名为Equals的虚方法,其实现方式很简单:if(this==obj)return true;简单一目了然,不过仔细一想,如果obj引用不同的对象,equals就不肯定对象是否包含相同的值,所以返回false。对于Object的默认实现实际上是同一性而非相等性。
阅读全文
posted @ 2017-03-08 21:18
贝同学
摘要:属性,允许源代码用简化语法来调用方法。CLR支持两种属性:无参属性和有参属性(索引器)。 1.1无参属性特征 由于某些不恰当使用字段会破坏对象的状态,所以一般会将所有字段都设为private。要允许用户或类型获取或设置状态信息,需要提供封装了字段访问的方法(访问器)。 上面进行数据封装不得不实现额外
阅读全文
摘要:解决的主要问题: 文章的主要内容: 可选参数和命名参数 隐式类型的局部变量 以传引用的方式向方法传递参数 向方法传递可变数量的参数 参数和返回类型的设计规范 常量性 1.1可选参数和命名参数 在方法中为部分参数指定默认值的规则和原则: 可为方法,构造器方法和有参属性(C#索引器)的参数,委托定义一部
阅读全文
摘要:上一篇简单述说了值类型与引用类型的关系,那么不能不说说值类型的拆箱与装箱: 将值类型装箱就相当于把它包装起来给人看,"你瞧,我现在是引用类型了",顾名思义拆箱就是将包装卸下来"其实我是值类型"。 在将值类型利用装箱机制打包成引用时他要进行许多的打扮: 1.首先要给他一个空间(在托管堆中分配内存),多
阅读全文
摘要:关于值类型和引用类型方面的博客和文章可以说是汗牛充栋了,今天无意中又复读了一下这方面的知识,感觉还是有许多新感悟的,就此时间分享一下: CLR支持两种类型:值类型和引用类型,看起来FCL的大多数类型是引用类型,但用的最多的还是值类型。引用类型总是从托管堆中分配,在用new操作符实例一个对象,返回对象
阅读全文
摘要:所知IL是与CPU无关的机器语言,其能访问和操作对象类型,并提供指令来创建和初始化对象,调用对象上的虚方法以及直接操作数组对象等,故可视为一种面向对象的机器语言。每种语言的存在都有其存在的价值和原因,同时各自有各自的优势,由于CLR的独特性,可以尝试用不同语言描述不同功能(必须是面向CLR的编译器语
阅读全文
摘要:CLR即公共语言运行时,是一个可由多种编程语言使用的‘运行时’,其核心功能(内存管理,程序集加载,安全性,异常处理和线程同步等)均可由面向CLR的所有语言使用。运行时不必关心开发人员用哪一种语言写源代码,只要编译器是面向CLR的。 通过语言对应的编译器检查语法和分析源码编译生成某些托管模块(PE32
阅读全文

浙公网安备 33010602011771号