C#
文章平均质量分 59
C#基础语法
郭贝贝同学
没有对象?new一个对象
展开
-
C#基础——同步异步、预处理指令
asyncasyncawaitawaitawait注意:1.async必须是修饰方法才可以,表示异步方法2.async必须与await一起使用3.async描述的方法必须返回值是void或Task以及Task4.await的描述也是针对方法,但是必须内部使用task或者是Task5.await修饰的方法刚开始的时候其实是同步的,直到遇到关键字await才开始异步。原创 2023-12-22 17:57:22 · 517 阅读 · 0 评论 -
C#基础——文件、文件夹操作和序列化存储
如果要对文件进行操作,首先需要先引入IO命名空间类位于System.IO命名空间中,用于执行文件级别的操作。它提供了一组静态方法,用于创建、复制、删除、移动和读取文件内容等操作。文件操作的核心是文件路径Create 创建文件WriteAllText 创建一个新文件并写入内容,如果文件存在,则会被覆盖WriteAllLines 创建文件写入指定数组然后关闭该文件ReadAllText 读取文件内容AppendAllText 追加内容到文件Copy 复制文件Move 移动文件Delete 删除文件。原创 2023-12-21 21:32:00 · 787 阅读 · 3 评论 -
C#基础——匿名函数和参数不固定的函数
1、简洁性:使用更少的代码实现相同的功能2、灵活性:匿名方法可以作为参数传递给方法,也可以当作返回值返回。3、可读性:因为代码变少了,所以结构更加清晰易懂。匿名函数支持多播(多个委托一起执行),一个委托,代表了多个方法开发当中临时需要一个方法,而却方法的使用次数比较少,代码结构也比较简单。推荐使用匿名函数。原创 2023-12-20 21:13:19 · 694 阅读 · 2 评论 -
C#基础——委托、Action和Func的使用
Console.WriteLine(“无返回值类型有一个string参数和一个类参数的方法” + str + p.Name);其中Action用来描述一个void返回类型的方法,Func描述一个带有返回类型的方法。无返回值类型有一个string参数和一个类参数的委托。有参数有返回类型且返回类型是个类的委托。参数是一个委托和一个数据类型的委托。无返回类型有一个值的委托。带参数没有返回值的委托。有返回类型无参数的委托。有参数有返回类型的委托。带参数有返回值的委托。参数是一个委托的委托。无返回值无参数的委托。原创 2023-12-20 14:00:46 · 1048 阅读 · 0 评论 -
C#基础——字典、结构体和枚举
枚举是一种特殊的值类型,用于定义一组命名的常量。(如果指定的键不存在,它不会抛出异常,而是返回一个指示操作成功与否的布尔值)字典(Dictionary)是一种常用的数据结构,它提供了键值对的存储和访问方式。每个键都必须是唯一的,而值可以重复。与类(Class)不同,结构体是值类型而非引用类型。9.结构体需要在构造函数中初始化所有的成员变量,否则会报错,而类可以。10.static不能用来修饰结构体,(不存在静态结构体),而类可以。5.结构体不能声明无参构造函数,而类可以。1.结构体是值类型,类是引用类型。原创 2023-12-19 19:01:57 · 1079 阅读 · 0 评论 -
C#基础——ArrayList动态数组
Capacity 于获取动态数组当前的内部容量(可以容纳的元素数量上限,而不是当前实际包含的元素数量。IsReadOnly 数组的只读属性是否打开,返回一个布尔值(默认没有打开)Remove 从集合中删除指定的第一个匹配的那个元素,如果找不到,集合不变。IndexOf 从前往后查找元素的索引,存在返回索引值,不存在返回-1。LastIndexOf 查找元素的索引 存在返回索引值,不存在返回-1。Contains 查找是否有某个元素,返回一个布尔值。参数1:指定要查找的元素。Clear 清除数组。原创 2023-12-19 14:43:16 · 576 阅读 · 0 评论 -
C#基础——数组Array、数组API
element:在每次迭代中,element变量将依次代表集合中的每个元素。数组的长度默认是不可变的,没有办法直接添加新内容,或移除旧内容。由于索引是数字,需要使用专用的 [index] 的语法。由多个一维数组组成的数组,每个一维数组的长度可以不同。可以通过 索引 index 的概念读写数组中的内容。多维数组是一种用于存储具有多个维度的元素的数据结构。索引 是数组内位置的编号,从 0 开始。获取数组的长度 => 存储值的数量。使用for循环获取数组中的元素。数组长度 Length。数组的索引 index。原创 2023-12-12 19:14:11 · 1053 阅读 · 0 评论 -
C#基础——条件语句、循环语句、goto语句
根据判断条件,执行不同的代码片段。if…else语法结构:if(条件){条件为true时执行的代码} else {条件为false时执行的代码语法结构:if(条件一){条件一为true的时候执行的代码} else if(条件二){条件二为true的时候执行的代码} else{条件都为false的时候执行的代码三目运算符(三元表达式)语法结构:条件?(条件为true时候返回的值) : (条件为false时候返回的值)原创 2023-12-11 22:44:26 · 1026 阅读 · 0 评论 -
C#基础——ref传参与out传参
ref 用于将一个变量传递给方法,并允许方法修改该变量的值。out 也用于将一个变量传递给方法,允许方法修改该变量的值。原创 2023-12-15 15:59:43 · 701 阅读 · 0 评论 -
C#基础——字符串、字符串API。可变字符串
字符串是 System.String 类的实例。字符串表示文本数据,可以包含字母、数字、符号和空格等字符。创建字符串字符串拼接str1str2占位符使用字符数组对字符串进行初始化字符串长度 Length。原创 2023-12-12 21:08:17 · 1071 阅读 · 0 评论 -
C#基础——修饰符
在C#中,修饰符主要的用途是表示当前类,函数,成员变量可以被访问的范围。注意:以上修饰符不仅用于类、方法、字段、属性和事件的声明,也可以用于。原创 2023-12-14 12:05:56 · 546 阅读 · 0 评论 -
C#基础——类、对象和属性
属性(Properties)是一种用于封装类成员的特殊成员。属性可以通过使用get和set访问器来实现对私有字段的读取和写入操作,从而提供对类的数据的安全访问。第一种创建类的方法,在 internal class Program{} 类的下面创建。类中的成员包含: 1.字段、2.属性、3.方法 还应该为每个类成员设置指定的访问修饰符。在定义属性的时候,可以通过不同的属性描述关键字,定义属性的使用要求。第一种方式就是在类的下面再创建一个类。类:是具有相同属性和行为特征的集合。第二种方式是在文件中添加一个类。原创 2023-12-15 19:58:07 · 741 阅读 · 0 评论 -
C#函数(方法)
函数也被称为方法(在对象内部叫方法,不隶属于对象的时候叫函数)。方法是一段可重复使用的代码块,用于执行特定的操作,也可以有返回的值。函数分为两大类:静态函数和实例函数。原创 2023-12-14 17:28:40 · 519 阅读 · 0 评论 -
C#基础——泛型、泛型约束、泛型默认值
提高代码的安全性和可读性:泛型可以在编译时进行类型检查,避免了类型转换错误,提高了代码的安全性。同时,泛型的类型参数可以提供更具有描述性的命名,增加代码的可读性。2、class约束:使用calss关键字可以确保泛型类型必须是引用类型(类、接口、委托或数组),而不能是值类型。提高代码的重用性:通过使用泛型,可以编写通用的算法和数据结构,使其适用于多种数据类型,从而提高代码的重用性。泛型接口是一种可以定义参数化类型的接口,它可以用来描述对一组类型的操作,而不需要具体指定这些类型。来获取泛型类型的默认值。原创 2023-12-18 16:00:01 · 996 阅读 · 2 评论 -
C#基础——类型转换与逻辑运算
但是由于int 和 long都属于整数类型,只不过位数不同,所以系统默认进行了类型转换,又叫做强制类型转换,需要用到转换运算符,而且强制类型转换会造成数据的丢失(大转小)严格意义上来说,上述的代码并不符合c#语言特性,因为类型不匹配的形况下进行了赋值。例如:在赋值前使用(int)进行强制类型转换,但是得到的结果造成了小数的丢失。如果字符串的内容跟值类型相关,那么可以尝试对应数据类型的转换。例如从小的整数类型转换为大的整数类,从派生类转为基类。c# 默认以安全的形式进行转换,数据不会丢失,原创 2023-12-08 11:48:36 · 457 阅读 · 0 评论 -
C#基础——构造函数、析构函数
构造函数在调用的时候会分配一部分内存,这块内存被放在了堆上,c#内存回收机制属于自动回收,原则意义上来讲不需要手动释放,但是如果能够结合良好的编码习惯,可以搭配类似于析构函数之类的方法,让内存释放更高效。构造函数是用于对象的初始化,而普通函数主要用于对象的操作和行为。构造函数在创建对象时自动调用,而普通函数需要手动调用。原创 2023-12-16 16:42:32 · 605 阅读 · 0 评论 -
C#基础——面向对象(封装 继承 多态)
通过方法重写,可以在不同的对象上调用相同的方法名,但实际执行的是各自类中的具体实现。继承(Inheritance):继承是面向对象编程的基本特性之一,它允许一个类派生出子类,并继承父类的属性和方法。通过继承,可以创建一个通用的父类,并在子类中根据需要进行特定的实现。在类的方法中使用this关键字可以明确指定成员变量或成员方法是属于当前对象的。重载:重载指的是在同一个类中定义多个具有相同名称但参数列表不同的方法或函数。重写:重写指的是在派生类中重新定义基类中已有的方法,以实现特定的行为。原创 2023-12-16 21:09:19 · 1532 阅读 · 0 评论 -
C#基础——语法学习
sln文件:将项目和解决方案项结合到一起.vs文件夹:用来存储当前解决方案中关于用户的设置和自定义项,比如断点,主题等。(一般都将其隐藏起来)目录文件项目目录:bin文件夹:项目的开发文件,里面包含了Debug(调试)Release(发布)obj文件夹:项目的配置项文件,里面包含了项目的页面配置信息Properties:设置。原创 2023-12-07 23:03:25 · 1021 阅读 · 0 评论 -
C#基础——抽象类、接口;装箱与拆箱
抽象类是一种特殊的类,它不能被实例化,只能用作其他类的基类。抽象类用于定义一组相关的类的共同行为和属性。定义一个抽象类定义一个抽象类的派生类注意:凡是继承抽象类的当前类,都需要把基类中描述的方法实现了,否则会报错。原创 2023-12-18 14:00:28 · 893 阅读 · 0 评论 -
什么是CSharp?c#?
C#(读作"C Sharp")是一种通用、静态类型的编程语言,由微软公司开发。它是.NET平台的一部分,常用于开发Windows应用程序、Web应用程序、游戏、移动应用以及嵌入式系统等。原创 2023-12-07 22:03:38 · 1183 阅读 · 0 评论