C#系统学习汇总
文章平均质量分 83
通过自己近几年的工作与学习,对C#的主要内容进行整理,方便后续参考与学习,也给学习C#者提供一些帮助。
明如正午
梦想若缺少爱和信仰,终将成为生命的圈套!
展开
-
C#系统学习汇总 - 总目录【持续更新中......】
C#系列教程总目录原创 2022-05-20 16:17:43 · 3780 阅读 · 2 评论 -
C#【高级篇】StructLayout特性是什么?怎么用?
C#【高级篇】StructLayout特性是什么?怎么用?原创 2022-10-12 21:30:00 · 4614 阅读 · 0 评论 -
C#【高级篇】.NET平台调用Win32 API
.NET平台调用Win32 API原创 2022-10-11 21:00:00 · 2968 阅读 · 0 评论 -
C#【高级篇】 IntPtr是什么?怎么用?
在C#编程中,当调用C++写的dll时,有时会用到IntPtr,那IntPtr是什么,又怎么用呢?原创 2022-10-10 21:00:00 · 26576 阅读 · 3 评论 -
C#【高级篇】 C# 特性(Attribute)
特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。原创 2022-10-09 21:00:00 · 1033 阅读 · 0 评论 -
C#【高级篇】 C# 反射(Reflection)
反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。原创 2022-10-09 21:00:00 · 516 阅读 · 0 评论 -
C#【补充】this关键字
this关键字常见用法:限定类中隐藏的成员将对象作为参数传递给方法声明索引器原创 2022-07-08 15:04:16 · 244 阅读 · 0 评论 -
C#【补充】base关键字
base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。基类访问范围:仅允许基类访问在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用 base 关键字是错误的。...原创 2022-07-08 14:47:14 · 190 阅读 · 0 评论 -
C#【高级篇】 C# 匿名方法【待补充Lambda表达式。。。】
我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。...原创 2022-06-29 20:00:00 · 323 阅读 · 0 评论 -
C#【高级篇】 C# 接口(Interface)
接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 “是什么” 部分,派生类定义了语法合同 “怎么做” 部分。接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口使得实现接口的类或结构体在形式上保持一致。..................原创 2022-06-29 20:00:00 · 12448 阅读 · 1 评论 -
C#【高级篇】 C# 泛型(Generic)【需进一步补充:泛型接口、泛型事件的实例】
泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。原创 2022-06-29 20:00:00 · 448 阅读 · 0 评论 -
C#【高级篇】 C# 多线程
线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止我们编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但是,这样子应用程序同时只能执行一个任务。为了同时执行多个任务,它可以被划分为更小的线程。...原创 2022-06-29 20:00:00 · 7322 阅读 · 0 评论 -
C#【高级篇】C# 委托(Delegate)
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。............原创 2022-06-20 20:00:00 · 567 阅读 · 0 评论 -
C#【中级篇】 C# 多态性
多态是同一个行为具有多个不同表现形式或形态的能力。多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。原创 2022-06-14 13:31:05 · 559 阅读 · 1 评论 -
C#【中级篇】 C# 继承
继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为基类,这个新的类被称为派生类。......原创 2022-06-14 10:33:30 · 1025 阅读 · 0 评论 -
C#【高级篇】 C# 索引器(Indexer)
索引器(Indexer) 允许一个对象可以像数组一样使用下标的方式来访问。当您为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。您可以使用数组访问运算符 [ ] 来访问该类的的成员。...原创 2022-06-13 10:05:50 · 2420 阅读 · 0 评论 -
C#【高级篇】C# 属性(Property)
属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。属性(Property)不会确定存储位置。相反,它们具有可读写或计算它们值的 访问器(accessors)。例如,有一个名为 Student 的类,带有 age、name 和 co原创 2022-06-13 20:00:00 · 3055 阅读 · 0 评论 -
C#【中级篇】C# 命名空间(Namespace)
命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。原创 2022-06-10 20:00:00 · 2720 阅读 · 0 评论 -
C#【中级篇】 C# 预处理器指令
预处理器指令指导编译器在实际编译开始之前对信息进行预处理。所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。......原创 2022-06-09 22:00:00 · 1374 阅读 · 0 评论 -
C#【中级篇】C# 异常处理
异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。......原创 2022-06-09 20:00:00 · 441 阅读 · 0 评论 -
C#【中级篇】 C# 正则表达式
正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。原创 2022-06-09 20:00:00 · 388 阅读 · 0 评论 -
C#【中级篇】C# 类(Class)
当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量称为类的成员。...原创 2022-06-07 20:00:00 · 716 阅读 · 0 评论 -
C#【中级篇】 C# 枚举(Enum)
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。原创 2022-06-06 20:00:00 · 5769 阅读 · 2 评论 -
C#【中级篇】C# 结构体(Struct)
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。原创 2022-06-02 20:00:00 · 2193 阅读 · 2 评论 -
C#【中级篇】 C# 数组(Array)
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。声明数组变量并不是声明 number0、number1、…、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。原创 2022-05-31 20:00:00 · 1244 阅读 · 0 评论 -
C#【中级篇】 C# 可空类型(Nullable)
? 单问号用于对 int、double、bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。?? 双问号用于判断一个变量在为 null 的时候返回一个指定的值。原创 2022-05-30 20:00:00 · 1231 阅读 · 0 评论 -
C#【中级篇】 C# 方法
参数传递 重点: 1、值类型和引用类型的区别 2、值传递和引用传递(ref和out)的区别 3、**传递引用类型参数和引用传递(ref和out)引用类型参数的区别** [这一点最容易混淆]扩展方法【在原有基类(.NET自带的)中添加方法】原创 2022-05-30 20:00:00 · 508 阅读 · 0 评论 -
C#【中级篇】 C# 封装
封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。原创 2022-05-30 20:00:00 · 368 阅读 · 0 评论 -
C#【基础篇】 C# 循环
循环语句允许我们多次执行一个语句或语句组原创 2022-05-27 15:10:36 · 397 阅读 · 0 评论 -
C#【基础篇】 C# 判断
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。原创 2022-05-27 14:56:17 · 1135 阅读 · 0 评论 -
C#【基础篇】 C# 运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符原创 2022-05-27 14:40:26 · 352 阅读 · 0 评论 -
C#【基础篇】 C# 常量
常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。常量可以被当作常规的变量,只是它们的值在定义后不能被修改。原创 2022-05-27 14:14:11 · 370 阅读 · 0 评论 -
C#【基础篇】 C# 变量
变量的声明与初始化 值类型变量的声明与初始化 引用类型变量的声明与初始化【Class、Interface、delegate】——后边章节原创 2022-05-25 17:25:55 · 552 阅读 · 0 评论 -
C#【基础篇】 C# 类型转换
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:**隐式类型转换** - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。**显式类型转换** - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。原创 2022-05-25 11:03:41 · 4942 阅读 · 1 评论 -
C#【基础篇】 C# 数据类型
值类型(Value types): 直接给值类型变量分配一个值。 装箱(值类型—>object对象类型),拆箱(object对象类型—>值类型) 引用类型(Reference types): 引用类型变量中存储的是值(实际内容)的引用。 包括:对象类型,动态类型,字符串类型,类,接口,委托。 指针类型(Pointer types): 和C和C++代码交互、使用非托管代码时,使用指针较多。原创 2022-05-25 10:29:19 · 1227 阅读 · 0 评论 -
C# 【基础篇】C# 基本语法
C#的基本语法: using关键字:using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句 class关键字:class 关键字用于声明一个类 C#中的注释:注释是用于解释代码 成员变量:变量是类的属性或数据成员,用于存储数据 成员函数:函数是一系列执行指定任务的语句 实例化一个类: 标识符:标识符是用来识别类、变量、函数或任何其它用户定义的项目【注意命名规范!】 C#关键字:关键字是 C# 编译器预定义的原创 2022-05-25 09:55:09 · 709 阅读 · 0 评论 -
C#【基础篇】 C# 程序结构
C# 的最小的程序结构: 命名空间声明(Namespace declaration) 一个 class Class 方法 Class 属性 一个 Main 方法 语句(Statements)& 表达式(Expressions) 注释 如何建立一个项目并运行的两种方式:IDE或命令行原创 2022-05-24 17:42:34 · 594 阅读 · 0 评论 -
C#【基础篇】 C# 环境
在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C# 与 .Net 框架之间的关系。原创 2022-05-24 16:50:33 · 557 阅读 · 0 评论 -
C#【基础篇】 C# 简介
C#【基础篇】 C#简介原创 2022-05-23 15:06:11 · 500 阅读 · 0 评论 -
C#【高级篇】 不安全代码(unsafe)
当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。原创 2022-05-21 15:14:18 · 6061 阅读 · 0 评论