C#字符串操作与CLR/IL基础:子串提取、定位与语言互操作

需积分: 6 1 下载量 103 浏览量 更新于2024-08-19 收藏 5.21MB PPT 举报
本篇文档是关于C#字符串操作的教程,主要介绍了如何在C#编程中抽取和定位子串,以及字符串的比较方法。首先,通过实例展示了如何使用Substring()方法截取字符串的一部分,如`poemSeg = poem.Substring(10)`表示从第11个字符开始截取,而`poemSeg = poem.Substring(0,9)`则截取前9个字符。`IndexOf()`和`LastIndexOf()`函数用于查找子串在字符串中的位置,如`index = poem.IndexOf("I")`获取"I"的位置。 在字符串比较方面,文档提到使用`==`运算符直接比较字符串,如`isMatch = (title == "ANCIENT AMRINER");`。同时,也演示了字符串转换和大小写敏感性问题,如`ToUpper()`方法会忽略大小写进行比较,而`Equals()`方法则可以用于区分大小写。例如,`isMatch = title.Equals("Ancient Mariner");`会根据指定的比较规则进行判断。 文档还提及了.NET框架中的编译和执行流程,尤其是在使用.NET时,源代码会被编译为中间语言(IL),即Microsoft Intermediate Language,这是.NET框架的核心概念。所有.NET支持的语言最终都会被编译为IL,然后由Common Language Runtime (CLR) 负责执行。IL提供了语言间的基本兼容性,因为所有语言生成的IL都是可被CLR理解和执行的。 此外,文档提到了.NET的运行库,如VB的VBRUN和VC++的MSVCRT,但在.NET下,所有语言共享一个公共运行库——CLR。CLR不仅负责内存管理,还简化了跨语言应用和组件的设计,使得开发者能够创建可以在不同.NET语言之间互操作的组件。 最后,文档通过一个简单的示例讲解了字符串格式化方法`Format()`,重点在于理解占位符与参数列表之间的对应关系。而关于工厂模式,文档简要提到了简单工厂模式的结构,并指出了其依赖于所有子类的缺点,暗示在实际设计时需要权衡和改进。