C#学习笔记高级部分(pdf)
转载前辈的C#学习笔记,跟大家分享下 C#中关键字的小示 ........................ 1 如何产生随机数 .......................... 1 反射 - 获取运行时方法的信息 .............. 1 在C#中使用 Params 关键字 ................ 3 利用正则表达式统计单词个数 ............... 3 标签(Label)随鼠标移动而移动 ............ 4 如何从你的应用程序执行exe 文件 ........... 4 在控制台应用程序中隐藏用户的密码 .......... 5 在asp.net 页面上实现媒体播放 ............. a.Equals(b) 和 a == b 之间的区别 ........ 8 使用ArrayList .......................... 9 创建和使用HashTable .................... 10 SortedList: 存储键值对的集合 .......... 10 栈:先进后出队列 ........................ 12 队列:先进先出列表 ...................... 14 在C#中遍历和排序对象集合 ................ 15 StringWriter实现的一个功能 ............. 19 创建一个文本文件并写入文本 .............. 20 序列化对象到文件 ....................... 20 文件夹拷贝 ........................... 24 使用C#解析简单XML ..................... 25 读XML 文件 ........................... 2 6 用XmlWriter 写XML 文件 ................ 27 插入数据到XML 文档 .................... 29 C#(读作 "看井")是一种由微软开发的面向对象的高级编程语言。它是.NET框架的一部分,主要用于开发Windows应用程序、游戏、移动应用程序、网站和服务器端代码。本学习笔记将探讨C#的高级主题,包括关键字使用、随机数生成、反射、Params关键字、正则表达式、用户界面元素、应用程序交互、文件操作和XML处理等。 C#中的关键字(如if、for、new等)具有特殊含义,不能用作变量名或其他标识符。然而,如果出于特定原因需要使用这些关键字作为标识符,可以在关键字前加@符号来标识,例如@string或@void。 接下来,关于生成随机数,C#提供了Random类,允许你生成一系列随机数。例如,使用Random类的实例化和Next方法可以生成一个介于10到20之间的随机数,或者小于100的随机数。 反射是一种在运行时检查或修改程序的行为,是.NET强大的特性之一。使用反射,可以通过类型对象(Type)和MethodInfo类来获取关于方法的详细信息,例如返回类型、方法名称和参数列表。 Params关键字允许将一个方法的参数数量指定为可变的,这对于创建接受不同数量参数的方法特别有用。例如,可以声明一个方法,它接受可变数量的整数参数。 正则表达式是处理文本和数据的强大工具。在C#中,可以使用正则表达式来统计字符串中的单词数量。例如,可以创建一个正则表达式模式,用来匹配单词边界,并使用Matches方法来找到所有匹配项。 在***或Windows窗体应用程序中,可以通过编程方式控制UI元素的位置。例如,可以编写代码使标签(Label)控件跟随鼠标移动。 执行外部程序是常见的任务之一。在C#中,可以通过Process类来启动另一个.exe文件并与其交互。 在需要隐藏用户密码的场景中,如控制台应用程序,可以通过一些特殊方法来隐藏密码的输入,比如在控制台读取时不做回显。 ***页面上可以轻松集成媒体播放功能,通过HTML的<video>或<audio>标签,或者使用第三方库。 在C#中,a.Equals(b)和a == b用于比较两个对象是否相等,但它们的行为略有不同。a == b通常用来检查两个对象引用是否指向同一对象实例,而a.Equals(b)则是用来比较两个对象的内容是否相等。 ArrayList是.NET Framework中早期版本提供的动态数组类。尽管在.NET Core之后,被更现代的泛型集合替代,但在旧代码库中仍然可以看到ArrayList的使用。 HashTable是一个基于键值对的集合,支持快速查找。通过HashTable,可以存储键值对并快速检索值。 SortedList是另一种存储键值对的集合,与HashTable不同的是,SortedList中的键值对是排序的,这使得遍历更加高效。 栈是一种后进先出(LIFO)的数据结构,适用于实现撤销功能、深度优先搜索等算法。 队列是一种先进先出(FIFO)的数据结构,适用于实现缓冲区、任务调度等场景。 遍历和排序对象集合是编程中的常见任务,C#提供了多种方法来处理这些操作,比如LINQ。 StringWriter是一个非常有用的类,可以用来构建字符串流,并将文本写入内存。 创建和写入文本文件可以使用FileStream和StreamWriter类,支持文件的创建、读写和关闭。 序列化对象到文件是将对象的状态保存到文件的过程,C#中可以使用BinaryFormatter或SoapFormatter等来进行序列化。 文件夹拷贝可以通过FileInfo和DirectoryInfo类结合FileStream来实现,也可以使用File类的方法来完成。 解析XML通常使用.NET Framework中的System.Xml或System.Xml.Linq命名空间提供的类和方法。XML是可扩展标记语言,广泛用于数据交换。 插入数据到XML文档通常是使用XmlDocument类和XPathNavigator类,也可以使用Linq to XML等更现代的方法。 以上知识点涵盖了C#学习笔记高级部分的关键点,适合希望提高C#编程技能的开发者深入学习。通过掌握这些高级特性,开发者能够编写更加高效、健壮的C#应用程序。
剩余31页未读,继续阅读
- zone532016-07-21初学者正在学习,资料很棒
- MSSQLSERVER19712013-03-22记录比较清晰 初学者值得一看 好。
- 粉丝: 16
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2013A-正式考卷.doc
- BAT WPS OFFICE免登录工具
- 基于Matlab实现车牌识别系统(源码+图像).rar
- 帮助学习 Direct 3D 12 的游戏引擎.zip
- 带有 Sciter UI 的 Rust GFX 示例 .zip
- Git教程-快速上手版本管理
- 带有 OpenGL 后端的 V 2D,3D 图形库(DirectX、Vulkan、Metal 即将推出).zip
- 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
- Processor System Reset(5.0) 手册
- 带有 Microsoft DirectX 着色器编译器 (dxil 和 spirv) 的 Docker 映像.zip