- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C_.NE基础知识
一:体系结构 2
.NET Framework平台体系结构 [C#] 2
栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#] 3
一、 栈和托管堆 4
二、类型层次结构 5
三、引用类型 6
四、预定义的引用类型 7
五、强制类型转换 8
六、装箱和拆箱(boxing/unboxing) 9
二:方?法 10
覆盖与重载(override/overload) [C#] 10
1. 方法签名与方法的显式隐藏 11
2. 方法重载与重写(overload override) 21
抽象方法和虚方法的区别 [C#] 22
深入剖析C#的多态 [C#] 22
一、什么是多态 23
二、实现多态 24
三:委托与事件 26
委托和事件 [C#] 26
引 言 27
将方法作为方法的参数 27
将方法绑定到委托 32
事件的由来 35
事件和委托的编译代码 41
委托、事件与Observer设计模式 43
委托模型和事件模型 [C#] 53
1.多播委托 53
2. 事??? 件 56
3.用户定义的事件 61
索引器(indexer) [C#] 66
1.索引器的作用是什么? 66
2. 索引器的使用难吗? 67
3.怎样定义一个索引器? 67
4. 使用索引器 68
反射(Reflection) [C#] 75
四:字符串 78
1.string与String的区别 78
2. String与StringBuilder的区别 79
3.string和StringBuilder性能比较 80
五:类与接口 82
抽象类和接口的区别 [C#] 82
一、抽象类 83
二 、接?口 85
三、抽象类和接口 87
四、其它文章 89
C#2.0中的静态类static class [C#] 92
静态类的限制 93
六:工具集使用 94
MSIL 反汇编程序 (Ildasm.exe) [C#] 94
一:体系结构
.NET Framework平台体系结构 [C#]
C# 程序在 .NET Framework 上运行,它是 Windows 的一个必要组件,包括一个称为公共语言运行时 (CLR) 的虚拟执行系统和一组统一的类库。CLR 是 Microsoft 的公共语言基础结构 (CLI) 的一个商业实现。CLI 是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础。
用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (IL)。IL 代码与资源(如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为 .exe 或 .dll。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。
执行 C# 程序时,程序集将加载到 CLR 中,这可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,CLR 执行实时 (JIT) 编译以将 IL 代码转换为本机机器指令。CLR 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 CLR 执行的代码有时称为“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。下图演示了 C# 源代码文件、基类库、程序集和 CLR 的编译时与运行时的关系。
语言互操作性是 .NET Framework 的一个关键功能。因为由 C# 编译器生成的 IL 代码符合公共类型规范 (CTS),因此从 C# 生成的 IL 代码可以与从 Visual Basic、Visual C++、Visual J# 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同 .NET 语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。
除了运行时服务,.NET Framework 还包含一个由 4000 多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出到字符串操作、到 XML 分析、到 Windows 窗体控件的所有内容提供多种有用的功能。典型的 C# 应用程序使用 .NET Framework 类库广泛地处理常见的“日常”任务。
栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#]
栈和托管堆
????通用类型系统(CTS)区分两种基本类型:值类型和引用类型。它们之间的根本区别在于它们在内存中的存储方式。.NET使用两种不同的物理内存块来存储数据—栈和托管堆。如下图所示:
????值类型总是在内存中占用一个预定义的字节数(例如,int类型占4个字节,而string类型占用的字节数会根据字符串的长度不同而不同),当声明一个值类型变量时,会在栈中分配适当大小的内存(除了引用类型的值类型成员外,如类的i
您可能关注的文档
最近下载
- 基于历史核心素养的学业质量评价——以广东省初中学业水平考试31题为.docx
- Unit 8 Colours 第2课时 Story time(大单元教学设计)三年级英语下册(译林版三起2025).docx VIP
- 2025年中国注射用环磷腺苷项目创业计划书.docx
- 2025年预制菜发展可行性研究报告.docx
- 2023年深圳市高级中学新高一入学分班考试数学模拟试卷及答案解析.pdf VIP
- 天然气工业用户安全培训.pptx VIP
- 2023黑龙江哈尔滨“丁香人才周”(秋季) 事业单位引才招聘巴彦县教师招聘26人笔试备考试题及答案解析.docx VIP
- 交通事故民事起诉状[交通事故起诉状民事].docx VIP
- 交通事故民事起诉状怎么写.pdf VIP
- CJJ1-2008城镇道路工程施工与质量验收规范.docx VIP
文档评论(0)