摘要: 有以下两种解决方案 1 保留修改 git stash #封存修改 git pull origin master git stash pop #把修改还原 2.废弃修改 git reset --hard git pull origin master 阅读全文
posted @ 2022-04-13 12:50 0bug 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。 线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的 阅读全文
posted @ 2022-04-13 11:12 0bug 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。 指针变量 指针 是值为另一个变量的地址的变量,即,内存位置的直接地址。就像其他变量或常量,您必须在使用指针存储其他变量地址之前声明指针。 指针变量声明的一般形式为: ty 阅读全文
posted @ 2022-04-13 11:10 0bug 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。 匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。 在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 阅读全文
posted @ 2022-04-13 11:06 0bug 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。 您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。 阅读全文
posted @ 2022-04-13 11:04 0bug 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。 集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。这些类 阅读全文
posted @ 2022-04-13 11:02 0bug 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。 C# 中使用事件机制实现线程间的通信。 通过事件使用委托 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件 阅读全文
posted @ 2022-04-13 11:00 0bug 阅读(132) 评论(0) 推荐(0) 编辑
摘要: C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。 声明委 阅读全文
posted @ 2022-04-13 10:53 0bug 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 索引器(Indexer) 允许一个对象可以像数组一样使用下标的方式来访问。 当您为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。您可以使用数组访问运算符 [ ] 来访问该类的的成员。 语法 一维索引器的语法如下: element-type this[int 阅读全文
posted @ 2022-04-13 10:49 0bug 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域 阅读全文
posted @ 2022-04-13 10:44 0bug 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。 您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。 优缺点 优点: 1、 阅读全文
posted @ 2022-04-13 10:41 0bug 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。 特性(Attribute)用于添加元数据,如编译器指令和注释、描述、 阅读全文
posted @ 2022-04-13 10:36 0bug 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个 流。 从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流 和 输出流。输入流用于从文件读取数据(读操作),输出流用于向文件写入数据(写操作)。 C# I/O 类 System.IO 命名 阅读全文
posted @ 2022-04-13 10:28 0bug 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。 try:一个 try 块标识了一个将被激活 阅读全文
posted @ 2022-04-13 10:21 0bug 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 是一种匹配输入文本的模式。 .Net 框架提供了允许这种匹配的正则表达式引擎。 模式由一个或多个字符、运算符和结构组成。 如果你还不理解正则表达式可以阅读我们的正则表达式 - 教程。 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。 字符转义 字符类 定位点 阅读全文
posted @ 2022-04-13 10:17 0bug 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 预处理器指令指导编译器在实际编译开始之前对信息进行预处理。 所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。 C# 编译器没有一个单独的预处理器,但是,指令被处理时就像是有一个单独的预处理器一样。在 C# 中, 阅读全文
posted @ 2022-04-13 09:55 0bug 阅读(37) 评论(0) 推荐(0) 编辑