自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 泛型委托、使用泛型、事件的含义、特性、Lambda、LINQ、XAML

LINQ(Language Integrated Query)是一种查询语言,用于在.NETFramework中对各种数据源进行查询和操作。LINQ语句可以与C#语言结合使用,使用一种类似于SQL的语法来查询和操作数据。LINQ语句通常包括以下几个关键字和子句:from:用于指定要查询的数据源和查询范围;where:用于指定查询条件,类似于SQL中的where子句;orderby:用于指定查询结果的排序方式,可以按照一个或多个属性进行排序;

2023-04-06 23:16:48 284

原创 使用委托的场景是实现异步编程、LINQ、抽象类、Lambda/事件、引用类型和值类型、类库、接口、结构类型与类类型、集合类型、迭代器、类型比较、定义泛型

1.在这个例子中,我们创建了一个新的字符串变量 str2,它指向一个新的字符串对象。1.需要注意的是,HashSet 判断元素是否重复的标准是元素的哈希值和相等性,因此如果要向 HashSet 集合中添加自定义的对象,需要重写该对象的 GetHashCode 和 Equals 方法,以确保 HashSet 正确地判断元素的重复性。其中,Where方法是一个扩展方法,它需要一个Func类型的委托作为参数,该委托接受一个T类型的参数,并返回一个bool类型的值,用于筛选满足条件的元素。

2023-03-27 22:39:50 206

原创 C#封装、继承、多态、接口、抽象、虚方法、重写方法、委托、回调、事件

1.C#中如何实现继承:你需要清楚地说明在C#中如何实现继承,即使用冒号符号(:)表示子类继承自哪个父类。同时,你需要提到派生类可以使用父类的公共和受保护成员,而不能使用父类的私有成员。2.继承中的访问修饰符:面试官可能会询问继承中的访问修饰符,比如public、protected、private、internal等。你需要清晰地解释这些访问修饰符的含义和作用,以及它们在继承中的应用。3.虚方法和多态:你需要清晰地解释虚方法和多态的概念。

2023-03-23 22:21:09 356

原创 C#什么是命名空间、命名空间嵌套、命名空间和程序集、EventArgs、面向对象的基本语法、什么是面向对象编程

面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它是以对象为基础,将数据和方法封装在一起,实现对现实世界的建模。在面向对象编程中,一个对象是一个独立的实体,具有状态、行为和标识。对象的状态是由它的属性值表示的,行为则是由它的方法实现的。对象的标识是唯一的,通常通过对象的引用来表示。封装封装是将数据和方法组合成一个单独的单元,这个单元对外部用户提供了一个抽象的接口,隐藏了对象的实现细节,保证了数据的安全性和完整性。

2023-03-22 22:40:15 927

原创 C#两线程间的通讯、Task和threadpool的区别、委托的含义-(封装方法、包括事件处理、回调函数和多线程编程)、async和await的区别、调用 MySQL 的框架和库、堆栈和堆、WPF模型

需要注意的是,ThreadPool并不会保证线程的执行顺序,因此需要在代码中自己控制任务的执行顺序。在这个示例中,我们通过Task.Run方法创建了一个异步任务task1,然后通过task1.ContinueWith方法指定了一个在task1完成后执行的任务task2,最后又通过task2.ContinueWith方法指定了一个在task2完成后执行的任务task3。在这个示例中,我们通过调用WaitOne方法等待上一个任务的信号,并通过调用Set方法发出下一个任务的信号,实现了任务的顺序执行。

2023-03-21 23:10:58 638

原创 创建 asp.net web api、File、Directory类、XmlDocument类、XmlElement类、读取、写入数据流的类、LINQ方法语法、LINQ排序

这段代码中,我们首先获取了学生对象的列表 students,然后使用 LINQ 查询语法,使用 orderby 关键字对学生对象按照分数 Score 进行降序排序,最后使用 select 关键字选择排序后的学生对象列表。接下来,我们可以在Web API应用程序中配置路由。通过使用这些类,可以方便地读取和写入数据,同时也可以确保在使用流时,数据的完整性和安全性得到保障。2.Directory 类则用于表示一个目录,它提供了一组方法和属性,可以执行以下操作: 获取目录中的文件和子目录的列表 创建、删除目录。

2023-03-14 22:32:49 129

原创 C#集合初始化、类型推理、动态查找、可选参数、命名参数、WPF 样式,模板,触发器,值转换,触发器,动画、视图模型

以上是常见的几种集合初始化方式,使用集合初始化器可以快速、简单地初始化一个集合。是指编译器在编译时自动推断变量类型的能力,而无需显式地指定类型。类型推理有助于简化代码,提高代码的可读性和可维护性。var关键字使用var关键字可以让编译器自动推断变量类型,如下所示:需要注意的是,使用var声明的变量必须在声明时进行初始化,因为编译器需要根据初始化表达式推断出变量的类型。泛型类型推理在C# 3.0中,引入了泛型类型推理(Generic Type Inference),它允许编译器自动推断泛型方法或泛型委托的

2023-03-14 21:53:57 698

原创 C#浅度和深度复制、定义类成员、定义字段、定义方法、定义属性、重构成员、自动属性、隐藏基类方法、调用重写和调用基类方法、嵌套的类型定义、部分类定义

public:表示该成员是公共的,可以在任何地方访问。private:表示该成员是私有的,只能在当前类中访问。protected:表示该成员是受保护的,只能在当前类和其子类中访问。internal:表示该成员是内部的,只能在同一程序集中访问。protected internal:表示该成员是既受保护又是内部的,可以在同一程序集中以及其子类中访问。在定义类成员时,需要指定成员的类型、名称以及访问修饰符,例如:// 字段 private string name;

2023-03-13 23:25:02 396

原创 C#多线程、HTTP POST必知必会

需要注意的是,如果 Web API 的实现中有一些必要的操作,例如记录日志、更新状态等,则需要确保这些操作在异步操作之前完成,以避免出现不必要的异常和错误。需要注意的是,在工作项的回调函数中,需要将传递的参数转换为正确的类型,并进行相应的处理。需要注意的是,如果 Web API 的实现中有一些必要的操作,例如记录日志、更新状态等,则需要确保这些操作在异步操作之前完成,以避免出现不必要的异常和错误。另外,在创建新线程时,也需要考虑到线程池的使用情况,避免在高并发场景下创建大量的新线程,导致线程池资源的耗尽。

2023-03-12 21:29:55 1090

原创 C#高级别的异步编程模型

ThreadPool.UnsafeQueueUserWorkItem方法会绕过线程池的队列,直接将工作项插入到线程池中的工作线程中,从而避免了线程池的额外开销和锁竞争问题。在上述代码中,使用Task.Run方法将异步任务包装在一个匿名方法中,并在新的线程中执行。因此,需要根据具体情况进行调整和优化。在这个示例中,我们使用了ThreadPool.SetMaxThreads方法将线程池的最大工作线程数设置为10,然后使用ThreadPool.GetMaxThreads方法获取线程池的最大工作线程数。

2023-03-10 21:25:03 155

原创 C#多线程,事件,延迟执行的方法

在上述代码中,当按钮的Click事件被触发时,它会等待5秒钟(通过调用Task.Delay(5000)),然后再调用OnOtherEvent方法触发另一个事件。在匿名方法中,使用Task.Delay方法延迟5秒后,执行后续代码。在上述代码中,Task.Delay(5000)会在5秒后返回一个Task对象,然后使用await关键字等待该Task完成后,才会执行后续代码。在上述代码中,Task.Delay(5000)会在5秒后返回一个Task对象,然后使用Wait方法等待该Task完成后,才会执行后续代码。

2023-03-09 23:23:53 4861

原创 使用Task.Delay和异步方法来实现在触发事件后延迟执行后续代码的效果

Task.Delay和异步方法来实现在触发事件后延迟执行后续代码的效果

2023-03-09 22:53:10 450

原创 c#数组的干货知识

C#数组知识·干货

2023-02-24 23:16:38 741

原创 C#结构体数组常考题

C#结构体与数组

2023-02-24 23:02:48 386

原创 在C#中枚举定义了一组命名的常量

C#枚举

2023-02-24 22:46:36 142

原创 在C# 字符串的特殊性

C#字符串的特殊性

2023-02-24 22:41:52 122

原创 C# 多线程应用程序出现瓶颈时

多线程出现瓶颈时该怎么处理

2023-02-24 22:32:50 160

原创 在网络编程中数据粘包该如何处理

TCP黏包如何处理

2023-02-24 22:26:54 337

原创 WPF的MVVM模式

WPF技术的MVVM模型

2023-02-22 15:40:40 956

原创 同时对同一张表进行插入、查询和更新操作

mysql常规知识,避免踩坑

2023-02-21 21:13:21 4154

原创 如何能提高数据库的性能和响应速度

MYSQL语句的优化办法

2023-02-21 20:42:32 393

原创 WPF自定义控件

这将为您创建一个自定义控件,可以在XAML中使用并自定义其外观和行为。要使用自定义控件,您可以将其添加到您的WPF应用程序的视图中,并使用控件的属性和事件进行交互。

2023-02-20 21:55:35 1272

原创 C#枚举(Enum)

在上面的示例中,将Monday的值指定为1,后续的枚举项的值会依次递增。可以使用枚举的Parse()方法将字符串转换为枚举项,或者使用枚举的ToString()方法将枚举项转换为字符串。需要注意的是,在使用枚举时,枚举的名称和枚举项的名称必须以大写字母开头,而枚举项的名称应该使用驼峰式命名法。定义枚举时,需要指定枚举的名称和枚举项,每个枚举项都包含一个名称和一个对应的值。在上面的示例中,定义了一个WeekDay枚举类型,它包含了七个枚举项,分别表示一周的七天。使用枚举时,可以通过枚举项的名称来访问枚举项。

2023-02-20 21:10:40 1790

原创 C#数组声明

访问数组元素:可以使用数组下标(从0开始)来访问数组中的元素。数组长度:可以使用数组的Length属性获取数组的长度。多维数组:C#也支持多维数组。以上是一些关于C#数组的基本信息。使用数组可以方便地存储和操作大量数据。声明数组:要声明一个数组,需要指定数组元素的类型、数组名称和数组长度。C#数组是一种用于存储相同类型的数据集合的数据结构。也可以声明更高维度的数组,如3维、4维等。

2023-02-20 21:04:00 1954

原创 C#中函数定义

函数执行完成后,返回值为 3,该值被赋值给 result 变量。参数列表表示函数接受的参数,可以有零个或多个,每个参数包括一个数据类型和一个参数名称,多个参数之间用逗号隔开。返回类型表示该函数返回值的类型,可以是任何 C# 数据类型,如果函数不返回任何值,可以用 void 表示。这个函数名为 Add,接受两个整型参数 a 和 b,返回类型为整型,函数体中实现了两个整数相加的操作。函数名表示函数的名称,可以自己定义,但是要符合命名规范。定义函数,按照上述方式写出函数的代码。

2023-02-20 20:54:33 1313

原创 C# 编程语言中,类的构造函数、析构函数和显式声明的参数化构造函数

显式声明的参数化构造函数:C# 中的显式声明的参数化构造函数与参数化构造函数类似,但是它们是通过在类中显式声明来实现的。显式声明的参数化构造函数通常用于实现对象的初始化逻辑。在上面的示例中,Person 类包含一个无参构造函数和一个参数化构造函数。无参构造函数用于创建默认的对象,而参数化构造函数用于创建具有指定名称和年龄的 Person 对象。C# 中的构造函数是一种特殊的成员方法,用于在创建对象时进行初始化操作。在上面的示例中,Person 类包含一个析构函数,用于在销毁对象时输出一条消息。

2023-02-20 20:49:46 613

原创 C#结构图

在上面的代码中,我们定义了一个 Point 结构体,它有两个公共成员变量 x 和 y,以及一个构造函数。构造函数接受两个整型参数 x 和 y,并使用 this 关键字将它们分别赋给结构体的成员变量 x 和 y。在 C# 中,结构体(struct)是一种值类型的数据类型,它可以封装一些数据成员和成员方法。与类不同的是,结构体是值类型,而不是引用类型,因此在传递结构体时不会发生对象复制。在 Main 函数中,我们使用构造函数创建一个 Point 结构体实例,并调用它的 Print 方法输出其坐标。

2023-02-20 20:40:03 190

原创 C#函数重载

C#函数重载

2023-02-20 20:35:03 903

原创 C#如何使用委托

C#委托

2023-02-20 20:27:05 190

原创 WPF与PLC进行OPC数据交互通讯

@WPF也工控机西门子通过OPC通讯方式进行数据上的交互初始化以及读取写入的方法: namespace OPC{ public partial class MainWindow{ OPCServer MyOpcServer; OPCGroup MyOpcGroup; public OPCItem Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10, Item

2021-02-26 14:58:08 1786

原创 WPF引用NPOI类库方式导出EXCEL方法!!

WPF引用NPOI类库方式导出EXCEL方法!!效果如图解决办法public static string TableExcel(DataTable dt) { //bool result = false; IWorkbook workbook = null; FileStream fs = null; IRow row = null; ISh

2021-02-26 10:19:05 1208 1

WPF 通过NPOI导出Excel.txt

WPF 通过NPOI导出Excel,实测可用

2021-02-26

ListView前后端所需源码.txt

ListView控件清空所有列表数据

2021-02-26

WPF运行源码文档.txt

WPF编辑语言中ListView控件添加水平滑动条

2021-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除