CLR via C#
PanZelin_up
放开我让我去学习好不好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# 泛型 学习笔记(七)
CLR via C# 学习笔记(七)泛型一、允许在引用类型、值类型、接口中定义泛型方法List< T >优势:源代码保护,不需要访问List< T >的源代码类型安全比如List< DateTime > Add(String) 之后会编译报错性能好由于类型安全,不需要强制类型转换,不如List[0] 不需要强制转成DateTime与ArrayList相比 ,存引用类型差不多;存值类型List更快,因为ArrayList存储值类型也会大量装箱二、IL原创 2021-09-01 15:18:30 · 235 阅读 · 0 评论 -
C# 事件 学习笔记(六)
CLR via C# 学习笔记(六)事件CLR事件模式以委托为基础委托是调用回调方法的一种类型安全的方式eg:MailManage收到邮件时,会公开NewMail事件,在User1 和 User2等级对MailManage事件的关注,MailManage对象将NewMail对象,发送给已经登记的方法一、把A和B放在一起,委托A执行完,再执行B这样B就不用检测A是否完成,已经委托A了this.A += new EventHandler(B);二、定义事件public event E原创 2021-08-25 09:50:19 · 193 阅读 · 0 评论 -
C# 参数 学习笔记(五)
CLR via C# 学习笔记(五)常量和字段一、ref和out两者都是按照地址传递,使用后都无法改变原来参数的值。out传递时,参数清空。就是无法传递参数,传递进去会被初始化二、params关键字传递可变数量的参数void Dispaly(params Object[] objects ){遍历object --> console(objects[n].GetType())}调用:Dispaly("123", 2, new Object());结果:StringInt原创 2021-08-23 10:36:51 · 215 阅读 · 0 评论 -
C# 常量和字段 学习笔记(四)
CLR via C# 学习笔记(四)常量和字段一、常量常量必须在编译时确定,定义常量就是创建元数据二、字段字段修饰符:static 类型状态,而不是对象状态readonly这种字段只能有一个构造器方法中的代码写入,只调用一次,就是在对象首次创建时。volatile 标记所有引用类型、基础类型volatile并不保证线程安全性,它只保证任何时候你读取到的都是最新值个人理解: volatile 只是说这个变量在用到的时候,每次去内存中取值,而不在寄存器中取值eg:readonly标记原创 2021-08-19 14:17:09 · 166 阅读 · 0 评论 -
CLR寄宿和AppDomain
CLR寄宿和AppDomain(一)CLR(Common Language Runtime 公共语言运行时):提供的核心功能:内存管理、程序集加载、安全性、异常处理、线程同步。寄宿(hosting)使任何应用程序都能利用CLR的功能,它让现有的一些程序至少能部分使用托管代码编写,还可以为程序提供通过编译来进行自定义和扩展的能力。其中允许扩展性,意味第三方DLL可能会在程序中运行,DLL可能企...原创 2019-10-22 22:35:20 · 390 阅读 · 0 评论 -
C# 类型 成员基础 学习笔记(三)
CLR via C# 学习笔记(三)类型 成员基础一、类型和成员基础常量、字段、方法实例构造器 :非static构造器,作用于非静态字段(实例对象字段)类型构造器 :static构造器,作用于静态字段(类型状态字段)操作符重载转换操作符属性、事件二、类型的可见性定义类型不显示指定可见性,C#会帮你指定为internalpublic 所有可见internal 程序集可见protected 子类可见protected internal 同一个程序集、以及程序集里的子类priv原创 2021-08-18 14:00:15 · 120 阅读 · 0 评论 -
C# 字符串留用 Intern与IsInterned
C# 字符串留用 Intern与IsInterned使用IsInterned时,如果参数不在线程堆上,那么就返回null,并不会创建新字符串,如下图test3为null,说明“xyz”不在线程堆上;test4为“x”,说明“x”在线程堆上有一个现象,我们把test5放在test3后面声明一个“xyz”运行后可以看到test3不为null,这说明在程序运行时,“xyz”已经在test5的参数里存到了堆上。...原创 2021-08-17 21:58:27 · 307 阅读 · 0 评论 -
C# 基元类型 引用类型 值类型 学习笔记(二)
CLR via C# 学习笔记(二)基元类型 引用类型 值类型一、基元类型编译器能直接支持的数据类型,比如int, short, long, double等。Int32 x = 2; //x是32位值Int64 y = x; //隐式转型为64位值溢出检测check和uncheck操作符下面的代码就抛出溢出异常check{ //允许溢出的代码放在uncheck中Byte b = 100;b += 200;}二、引用类型和值类型引用类型从托管堆分配,new之后返回对象原创 2021-08-16 21:21:30 · 176 阅读 · 0 评论 -
C# 类型基础 学习笔记(一)
CLR via C# 学习日记(一)C#类型基础一、类型基础所有类型都由System.Object派生Equals 判断两对象是否相同对于值类型来说是比较值;对于引用类型来说是比较地址是否相同;bool Equals(Object objA, Object objB);bool Equals(Object obj);GetHashCode() 返回对象的哈希码GetType() 返回调用该方法的对象是什么类型该方法是非虚方法,目的是为了防止重写,隐瞒类型,破坏类型安全ToString原创 2021-08-16 16:03:36 · 129 阅读 · 0 评论
分享