![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
Mudrock__
这个作者很懒,什么都没留下…
展开
-
C#_LINQ简记
返回根据条件分组的数据(一维IEnumerable,二维IGrouping,但IGrouping实现IEnumerable),用于标识分组(IGrouping)的Key属性即为分组条件。返回首条满足条件的数据(无数据或无符合条件数据时返回该数据类型的默认值)判断是否存在满足条件的数据(.Any()可用于判断队列是否为空)返回单条数据(无数据时返回该数据类型的默认值,数据重复时报错)返回首条满足条件的数据(无数据或无符合数据时报错)返回单条数据(无数据或数据重复时报错)返回对数据正序排序的结果。原创 2024-05-07 13:39:41 · 302 阅读 · 0 评论 -
C#_扩展方法
C#_扩展方法原创 2024-02-22 11:33:34 · 601 阅读 · 0 评论 -
C#_事件简述
事件基于委托,但不等同于委托。原创 2024-02-22 10:19:12 · 683 阅读 · 0 评论 -
C#_WaitAll、WhenAll、async及await
Task.WhenAll 在任何一个任务出现异常时都会立即返回一个代表异常的 Task 对象,而不会等待其他任务完成。await 关键字只能在返回类型为 Task、Task 、 ValueTask 的函数中使用,或在无返回值函数中使用(void)。Task.WhenAll 和 Task.WaitAll 都是用于等待多个任务完成的方法,但它们之间有一些重要的区别。Task.WaitAll: 没有返回值。Task.WhenAll: 返回一个 Task 对象,该对象表示所有输入任务的联合任务。原创 2024-02-21 18:11:18 · 1304 阅读 · 0 评论 -
C#_各式各样的参数(引用参数、输出参数、数组参数、具名参数、可选参数)
换言之,值类型参数的参数与实体之间无直接关联,修改参数不会对实体产生影响;引用类型参数的参数与实体可视为同一参数,修改参数会将修改同步至实体。注:当函数并不修改参数引用,而只是修改被引用的对象时,值参数引用类型与引用参数引用类型在使用上并无区别,只是机制不同。值参数和引用参数的区别在于传参时是否会创建参数副本:值参数不会创建副本,而引用参数会创建副本。通过具名参数传参,无需提前声明变量(具名参数依据参数名与形参匹配,而不是次序)设置可选参数后,参数具有默认值,可选择不传参;设置数组参数后,函数可接收。原创 2024-02-21 16:30:50 · 535 阅读 · 0 评论 -
C#_索引器
C#_索引器原创 2024-02-21 15:25:22 · 493 阅读 · 0 评论 -
C#_值类型与引用类型 及 值参数与引用参数
换言之,值类型参数的实参与形参之间无直接关联,修改形参不会对实参产生影响;引用类型参数的实参与形参可视为同一参数,修改形参会将修改同步至实参。对于局部变量而言,可得相对于帧指针所指地址的地址偏移量(关于栈指针和帧指针:栈指针指向栈的顶部,帧指针指向该函数对应的帧的底部)对于引用类型而言,依地址偏移量找到的数据为实际数据在堆中的地址。注:当函数并不修改参数引用,而只是修改被引用的对象,则。对于成员变量而言,可得相对于所属对象地址的地址偏移量。对于值类型而言,依地址偏移量找到的数据即为实际数据。原创 2024-02-20 17:24:38 · 517 阅读 · 0 评论 -
C#_字段 属性 常量与只读
简单来说就是有Get/Set函数的字段,其字段修饰符为private,通过属性(的Get/Set函数)向外部暴露数据。隶属于类型,具有只读性质,且在声明时就必须赋初值(若需要隶属于对象的"常量" 可以选择只读实例字段)只读字段: 声明时添加readonly关键字,只能在声明时或构造函数中赋初值。在代码执行中 常量的标识符会被替换为实际值,较之字段和属性效率更高。与该类型关联(为该类型的特征,可直接调用,无需具体至对象)只读属性: 只提供get函数,不提供set函数。中(定义在函数等代码体中的变量称为。原创 2024-02-20 15:49:07 · 507 阅读 · 0 评论 -
C#_宏定义
宏定义常用于版本控制,例如在X环境下使用A代码,在Y环境下使用B代码示例代码#if!VERSION_3#else#endif#else#endif运行效果。原创 2023-05-06 15:48:00 · 2894 阅读 · 1 评论 -
C#_委托简述
委托的添加与移除通过"+="与"-="实现,委托对象被多重委托时,执行委托将一次性执行所有委托。通过泛型指定返回值类型,另外,也可通过泛型指定参数类型,Action可通过泛型指定参数类型,当然,还可使用lambda表达式。Action类为C#提供的。此时可将返回值类型为。Func类为C#提供的。原创 2023-05-06 15:32:25 · 807 阅读 · 0 评论 -
C#_容器
存储元素:K-V键值对;限制:Key不可为null、不可重复,Value无限制。修改元素:添加元素-Enqueue;移除元素-Dequeue。修改元素:添加元素-Add系列;移除元素-Remove系列。修改元素:添加元素-Add系列;移除元素-Remove系列。修改元素:添加元素-Add系列;移除元素-Remove系列。注:元素的连接方式为头插,即存入顺序与读取顺序相反。修改元素:添加元素-Push;容器特性:移除元素时遵循先进先出。容器特性:移除元素时遵循后进先出。原创 2023-05-06 14:51:00 · 401 阅读 · 0 评论 -
C#_Struct与Class的差异
若struct具有已初始化的字段,则必须显式声明构造函数(即使是空函数),而class不需要。class至多可继承一个class,无法继承struct,也可实现数个interface,struct默认继承于Object类,class若无显式基类,也继承于Object类。struct储存于栈,class储存于堆(class于栈中储存引用)struct属于值传递,在函数内对参数进行修改,不会修改struct。class处于引用传递,在函数内对参数进行修改,会修改class。原创 2023-05-04 23:06:01 · 633 阅读 · 0 评论 -
C#_Enum
C#_Enum原创 2023-05-04 21:14:57 · 172 阅读 · 0 评论