12 2020 档案
摘要:常量的定义 常量一经赋值不能再改变其值 const 静态常量 在类型前加const修饰,在定义时为其赋值,因为在静态常量是在编译时进行解析,将常量的值替换初始值 readonly 动态常量 在类型前加readonly修饰,定义时默认有初始值,在运行时可进行赋值 由于const修饰是静态常量,所以被s
阅读全文
摘要:值传递和引用传递 形参:方法定义处定义的参数 实参:方法调用时提供的参数 值传递:方法传递值,值传递实参和形参都会在栈中占用内存,相互之间并不影响,而是形参限制了实参的类型, 形参作为临时变量在调用结束后即销毁。 引用传递:方法传递引用,引用传递实参和形参在堆中占用同一块内存,形参的改变会影响实参的
阅读全文
摘要:首先看几个单词 Enum 枚举类型 IEnumerator 枚举器 IEnumerable 可枚举 从单词上大概可以看出IEnumerator是实际枚举器 查看源码 源码分析: 1 IEnumerable接口仅定义了一个返回IEnumerator类型的GetEnumerator方法 2 IEumer
阅读全文
摘要:struct 和 class的异同 一图理解struct和class的异同 1 相同点 A struct和class是同一等级的,属于命名空间下 B 可以定义字段、属性、方法、构造器等 C 有默认的无参构造方法 2 不同点 A 定义语法关键字不同(struct class) B struct是值类型
阅读全文
摘要:string 字符串 定义语法:string s=”abc” string str=new string(new char[]{‘a’,’b’,’c’}) string和String string is an alias for String in the .Net Framework string
阅读全文
摘要:概念 装箱:由值类型转换为引用类型 拆箱:由引用类型转换为值类型 代码解析 逐步分析以上代码: 1 int i=5; 在栈中新建变量i,值为5 2 object o=i;在堆中新建变量o,储存实际值5,并将5在堆中的地址储存在栈中 3 int j=(int)o;在栈中新建变量j,通过栈中o的地址访问
阅读全文
摘要:什么是栈?什么是堆? 什么是值类型?什么是引用类型? 值类型中的引用类型,引用类型中的值类型。 栈(stack) 概念:内存中连续存放的区域,空间小,速度快,存取按先进后出(FILO First In Last Out) 比如一叠盘子,存:一个个的堆叠,取:从上取 值类型 概念:继承于System.
阅读全文
摘要:GC (Garbage Collector) 垃圾回收器 GC是对内存的管理,计算机的内存是有限的,早期的C/C++是没有GC的,需要编程者手动回收内存,主要是那时候内存小,程序员重视对内存的管理,但是也存在内存回收时机和忘记回收的问题,会造成内存泄露的灾难。 随着Java的JVM对内存的管理的发展
阅读全文
摘要:这里对C#程序的编译运行原理进行简单的总结,如有错误,欢迎指正。 通过VS编写的程序,F5就能执行,其中的过程又是怎样的呢,让我们先了解几个概念: 1 CSC.exe .Net Framework下的编译器 作用:将C#等源程序编译为程序集,程序集包括EXE文件或DLL文件 编译过程包括语法检查和源
阅读全文

浙公网安备 33010602011771号