.Net C#(框架/值类型/参数类型)——学习笔记
来源:互联网 发布:mysql 修复数据表命令 编辑:程序博客网 时间:2024/06/16 10:38
.Net框架
特性:
- 执行环境:安全、多平台、高性能
- 开发环境:面向对象、一致的编程体验、行业标准的通信、简化的部署、语言独立、互操作性
组成:
- 编程工具:VS集成开发环境、.Net兼容的编译器、调试器、服务器端改进
- 基类库(BCL):.Net框架使用的类库
- 公共语言运行库(CLR):内存管理、代码安全验证、代码执行、垃圾收集(GC)
运行流程:
- 使用.Net兼容语言(C#等)编写源代码
- .Net兼容编译器进行编译
- 产生程序集:可执行文件或dll,其中代码为公共中间语言(CIL),还包括程序的类型信息与安全信息
- JIT(实时)编译器进行编译:只编译调用到的代码,CLR进行管理
- 生成本机代码
- 与操作系统服务作用
CLR:
- .Net核心组件,在操作系统顶层并管理程序的执行。
- 提供服务:内存管理、异常处理、垃圾收集、反射服务、JIT编译器、类加载器、安全服务
值类型与引用类型:
存储方式:
- 值类型:数据存放在栈中。
- 引用类型:需要两段内存,第一段存储实际数据,位于堆中;第二段是一个引用,存放在栈里。(引用类型实例中的值类型数据也存放于堆中)包括:object、string、class、interface(接口类型)、delegate(委托类型)、array。
方法调用:
- 值类型:值不受方法行为影响。(方法开始时,在栈中为形参分配空间并从实参复制值。所以产生了独立的数据项。)
- 引用类型:值被方法的行为改变。(只复制了栈中的引用部分,堆中的数据被改变了。)
各种参数类型:
- 值参数:
方法调用时,系统在栈中为形参分配空间,再复制实参到形参。结束后实参未改变。
- 引用参数:
形参名和实参名引用相同的内存位置,即可以在函数体内修改实参的值。
声明:void Method(ref int a){......}
调用:Method(ref A);
- 输出参数:
类似于引用参数,但可以在方法内部调用前赋值,可以不初始化。方法返回前每个参数必须被赋值。
使用 out 修饰符。
- 数组参数:
允许传递可变数目的实参到方法中。
使用params 修饰符
0 0
- .Net C#(框架/值类型/参数类型)——学习笔记
- Objective-C学习笔记(二十一)——函数的返回值与参数类型
- Scala学习—类型参数
- C#学习笔记 —— 值类型和引用类型
- C#学习笔记—值类型与引用类型
- 【C++】学习笔记十二——类型组合
- C语言学习笔记(五)——复合类型
- C++/CLI学习笔记1—新的托管类型
- C++/CLI学习笔记1—新的托管类型
- 【Objective-C学习笔记】核心语法——点语法、id类型、SEL类型
- .NET/Dot Net学习笔记---.net理解,C#.net的基本类型,字符串转义字符处理..
- 【C#】—值类型与引用类型
- Swift学习笔记(二)参数类型
- 【Scala学习笔记】类型参数化数组
- [python]学习笔记5-函数参数类型
- Scala学习笔记7 - 类型参数化
- JavaScript学习笔记——基本类型和引用类型
- JavaScript学习笔记——引用类型:Array类型
- 剑指offer:和为S的两个数字
- HDU-ACM2005
- 解决ScrollView 里面嵌套Listview 的冲突
- HDU-ACM2006
- DragonBoard 410c手把手进行安卓开发之底层移植
- .Net C#(框架/值类型/参数类型)——学习笔记
- HDU-ACM2007
- 1369 - Answering Queries<数>
- HDU-ACM2008
- 有什么是超越MVC框架模式的
- 周末来一发之五一周赛
- [Java视频笔记]day13
- MySQL 基本操作
- CentOS 7 设置集中备份服务器