自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 设计模式-建造者模式

方法中,我们创建了指挥者、建造者和产品对象,并构建了产品,然后输出了产品的各个部分。这段代码展示了如何在C#中实现建造者设计模式。类则实际构建产品的各个部分。类负责安排构建过程,而。,一个抽象的建造者类。,一个具体的建造者类。

2024-07-17 09:21:45 244

原创 设计模式-工厂设计

这样,客户端代码只需要调用工厂方法,而不需要自己直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。在C#中实现工厂设计模式,可以创建一个工厂类,它根据传入的参数决定创建哪个具体类的实例。是一个工厂类,它根据传入的。

2024-07-17 09:17:40 307

原创 设计模式-简单工厂

简单工厂模式(Simple Factory Pattern)是属于创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。类,它是一个简单工厂,可以根据传入的字符串类型创建不同的。这个例子展示了工厂模式的基本概念,并且易于理解和应用。如果传入的类型不是定义好的,则返回。在这个例子中,我们有一个。

2024-07-15 10:26:30 365

原创 设计模式-单例模式

很多人都能说出饿汉模式的缺点,可是我觉得生产过程中,很少碰到这种情况:你定义了一个单例的类,不需要其实例,可是你却把一个或几个你会用到的静态方法塞到这个类中。最后,我们说一下枚举,枚举很特殊,它在类加载的时候会初始化里面的所有的实例,而且 JVM 保证了它们不会再被实例化,所以它天生就是单例的。注意,很多人都会把这个嵌套类说成是静态内部类,严格地说,内部类和嵌套类是不一样的,它们能访问的外部类权限也是不一样的。// 和饿汉模式相比,这边不需要先实例化出来,注意这里的 volatile,它是必须的。

2024-07-15 10:18:54 582

原创 设计模式的分类

设计模式是解决特定问题的固定方法,它们被分类为创建型、结构型和行为型。这些设计模式的共同目标是提高软件的可维护性、可读性和重用性,同时确保代码的灵活性。

2024-07-11 17:02:05 473

原创 设计模式六大原则

这些原则是面向对象设计和编程中的重要指导原则,帮助开发者创建可维护、可扩展和稳定的软件系统。

2024-07-11 17:00:53 501

原创 C#实现定时执行任务

在上面的代码中,首先创建了一个Timer实例,设置了定时器的间隔时间为1秒,并添加了一个Elapsed事件处理程序。在Elapsed事件处理程序中,输出当前时间,表示定时执行的任务。运行程序后,定时器将每隔1秒执行一次任务,直到按下任意键退出程序。

2024-06-06 10:41:05 396

原创 C#实现定时执行+线程

在DoTask方法中,调用ThreadPool.QueueUserWorkItem方法将DoWork方法添加到线程池中执行,并输出任务开始的时间。在上面的代码中,首先创建了一个Timer实例,设置了初始延迟为0秒,间隔时间为3秒,当定时器触发时会调用DoTask方法。运行程序后,可以看到每隔3秒线程池中的线程会执行任务,并输出任务开始的时间。

2024-06-06 10:40:27 367

原创 Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单。

程序中需要用到文本框或者RichTextBox进行文字输入或显示,对于一般使用者,可能连快捷键Ctrl+C复制,Ctrl+V粘贴都不会用,作为开发者就必须做一个右键菜单,以显示“复制”,“粘贴”。可以将一个上下文菜单(ContextMenuStrip,也叫右键菜单、快捷菜单)分配给几个控件使用,方法是将这几个控件的ContextMenuStrip属性设置为需要显示的菜单。剪切板无内容时,“粘贴”无效,特在其Opened事件中增加以下代码。在菜单事件中,如何判断是在哪个控件点击的呢?

2024-06-05 10:31:44 172

原创 C#实现列表快捷复制粘贴

在C#中,可以使用Windows窗口的剪贴板功能来实现快捷键控制复制粘贴。以下是一个简单的示例,展示了如何通过处理键盘事件来实现复制粘贴的功能。当用户在文本框中按下组合键Ctrl + C时,调用。当用户在文本框中按下组合键Ctrl + V时,调用。命名空间的访问权限,并且在合适的地方初始化。方法将剪贴板的文本粘贴到文本框中。确保你的应用程序有对。

2024-06-05 10:19:58 457

原创 C#实现winform中渲染图的展示

通过运行应用程序,您可以看到窗体中绘制了一个圆形,并且当您单击鼠标时,圆形的半径将根据鼠标点击位置改变。这样就实现了在WinForms中展示图形并动态改变的效果。您可以根据需要修改和扩展这段代码。在WinForms中实现图形的渲染展示,可以使用GDI+绘图技术。对象绘制一个红色圆形。当鼠标在窗体上单击时,将根据鼠标点击的X坐标改变圆的半径,并调用。在上面的代码中,我们在Form1类中定义了一个半径变量。在Form1窗体中,双击窗体以生成。事件处理程序,然后将其实现绑定到。方法通知窗体进行重新绘制。

2024-05-30 10:03:18 435 1

原创 队列(Queue)

队列(Queue)是一种数据结构,具有先进先出(FIFO,First-In-First-Out)的特性,即最早进入队列的元素会最先被取出。队列通常用于临时存储需要按顺序处理的数据,并且在多种计算机应用中广泛使用。队列是一种简单但功能强大的数据结构,能够有效地处理需要按顺序执行的任务。在编程中,队列常被用于解决许多实际问题。当涉及到涉及处理按顺序的数据时,队列是一个非常有用且重要的工具。:将元素添加到队列的末尾。:从队列的前端移除元素。最先进入队列的元素将首先被移除。:获取队列中的第一个元素,但并不移除它。

2024-05-28 16:12:01 147

原创 Windows快捷键

Windows操作系统提供了许多快捷键组合,这些快捷键可以帮助用户更高效地操作系统和应用程序。这些是一些常用的Windows快捷键,希望对您有所帮助。您可以根据个人需求和习惯使用这些快捷键,以提高操作效率。

2024-05-28 14:35:04 255 2

原创 C#实现计算数据和刷新ListView列表并发执行

在实际应用中,您可以根据具体需求来调整刷新频率。此外,为了在Windows窗体应用程序中运行,我们使用了。然后启动了两个线程,一个用来计算数据并添加到列表中,另一个用来刷新。下面是一个示例代码,演示如何在C#中实现计算列表的数据和刷新。在计算数据时我们使用了。来避免多线程访问导致的并发问题。,确保数据的线程安全性。在这个示例中,我们创建了一个。请注意,这个示例中使用了。来模拟每隔一秒刷新一次。

2024-05-28 14:21:00 561

原创 C#实现Queue的加锁和解锁

语句来对队列进行加锁和解锁,以确保在多线程环境下的线程安全。方法和一个获取队列元素数量的属性。通过使用同一个锁对象。,可以确保在执行入队、出队操作时不会发生竞态条件。类封装了一个队列,并提供了线程安全的。

2024-05-28 11:17:45 492

原创 一个简单的TCP socket通讯的实现

这个示例代码包含了一个简单的TCP socket通讯的实现。其中包括一个服务器端和一个客户端,服务器端监听指定端口,接受连接并读取客户端发送的数据,然后向客户端发送响应;客户端连接到服务器端,发送数据并接收服务器端的响应。可以按照需要修改端口号、IP地址和数据内容。

2024-05-27 10:21:38 662

原创 USB设备连接不稳定

2024-05-27 10:14:25 127

原创 c#实现DataPlotEx的图片保存

【代码】c#实现DataPlotEx的图片保存。

2024-05-23 15:02:03 103

原创 实现的Oxyplot.WindowsForms.Plot的放大和缩小

在上面的示例中,我们创建了一个窗体,并在其中添加了一个Oxyplot的Plot控件和两个按钮用于放大和缩小操作。在按钮的Click事件中,我们分别调用DefaultXAxis和DefaultYAxis的ZoomIn和ZoomOut方法来实现放大和缩小功能,并调用InvalidatePlot方法来刷新绘图。您可以根据需要调整放大和缩小的比例。在窗体中添加一个Oxyplot.WindowsForms.Plot控件,并设置其属性和数据源。在按钮的Click事件中编写放大和缩小的代码。

2024-05-15 10:57:18 362

原创 winform中实现Oxyplot.WindowsForms.Plot的鼠标悬停坐标值展示

界面增加Oxyplot.WindowsForms.Plot,鼠标悬停显示坐标值。

2024-05-15 10:51:16 353

原创 数据库种类

每个文档都是一系列数据项的集合,数据项包括名称和对应的值,这些值可以是简单的数据类型如字符串、数字和日期,也可以是复杂的类型如有序列表和关联对象。是目前应用最广泛的数据库类型。它诞生于1969年,并采用由行和列组成的二维表来管理数据,这种结构与Excel工作表相似,因此易于理解和使用。在这种数据库中,实体会被视为顶点,而实体之间的关系则被视为边。是一种将数据存储在列族中的数据库,每个列族用于存储经常一起查询的相关数据。近年来,随着其在Google等大型Web服务中的应用,这种数据库得到了广泛的关注。

2024-05-14 09:52:26 158

原创 多表查询笛卡尔集

• 如果使用了表别名,则在select语句中需要使用表别名代替表名。为了避免笛卡尔集, 可以在 WHERE 加入有 效的连接条件。• 右外连接 right [outer] join on。• 在不同表中具有相同列名的列可以用表的别名加以区分。• 左外连接 left [outer] join on。连接 n个表,至少需要 n-1个连接条件。在表中有相同列时,在列名之前加上表名前缀。• 使用表名前缀在多个表中区分相同的列。例如:连接三个表,至少需要两个连接条件。在 WHERE 子句中写入连接条件。

2024-05-13 11:37:43 169

原创 过滤和 排序数据

在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中。//最后的名字字母为o。包含在 GROUP BY 子句中的列不必包含在SELECT 列表中。可以对任意数据类型的数据使用 MIN 和 MAX 函数。可以使用GROUP BY子句将表中的数据分成若干组。ORDER BY 子句在SELECT语句的结尾。可以对数值型数据使用AVG 和 SUM 函数。• 不能在 WHERE 子句中使用组函数。• 可以在 HAVING 子句中使用组函数。可以使用不在SELECT 列表中的列排序。

2024-05-13 11:35:21 343

原创 范式的知识点

例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

2024-05-07 15:06:03 358

原创 数据库中视图的知识点

对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一般用于查询,不会改变基本表的数据。f) 视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。d) 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改。如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据。h) 视图的建立和删除只影响视图本身,不影响对应的基本表。

2024-05-07 14:58:50 583

原创 创建混合索引的原则

综合考虑查询性能和更新性能:混合索引对于查询性能的提升是有限的,而且对于表的更新操作会有一定的影响。总之,创建混合索引需要根据具体的查询需求和性能要求来进行选择和设计,需要综合考虑多个因素,包括列的选择、顺序、长度、复用性以及查询性能和更新性能之间的平衡。考虑列的顺序:混合索引的列的顺序应该根据查询的频率和使用的方式进行选择。选择最常被查询的列,以提高查询的性能。过长的索引会增加存储空间的开销,并且在查询过程中需要更多的时间来定位索引。考虑索引的复用性:混合索引应该尽量复用已有的索引。

2024-05-06 17:10:06 148

原创 OxyPlot上增加光标悬停展示数值信息

【代码】OxyPlot上增加光标悬停展示数值信息。

2024-04-30 16:10:42 139

原创 【无标题】

变量 A 和 B,分别包含了一些整数。最后,我们遍历新的合并列表并打印出其中的元素。方法将两个列表合并成一个新的列表,并通过。合并的结果是1,2,3,4,5,6.在这个示例中,我们首先创建了两个。,并对新的列表进行进一步操作。通过这种方式,您可以将两个。

2024-04-29 18:49:51 376

原创 Oxyplot.WindowsForms.Plot实现光标停留显示数值

方法将这个坐标位置转换为数据点的坐标值,分别获取X和Y坐标值。最后,我们将这些坐标值显示在ToolTip中,实现在Oxyplot.WindowsForms.Plot中光标停留时显示数值的功能。在Oxyplot的MouseHover事件中获取光标的位置,并根据位置获取对应的数据点。创建一个ToolTip控件,用于显示光标停留时的数值信息。将获取到的数据点的数值信息显示在ToolTip中。方法将鼠标的屏幕坐标位置转换为相对于。在这段代码中,我们首先通过。

2024-04-29 13:19:34 327

原创 System.Windows.Forms.ToolTip显示5S后消失

在这个示例中,我们创建了一个名为ToolTipExample的类,并在其构造函数中初始化了ToolTip。我们将ToolTip的AutoPopDelay属性设置为5000毫秒,这意味着当ToolTip出现后,5秒钟之内用户不进行任何操作,它就会自动消失。要实现System.Windows.Forms.ToolTip在5秒后消失的功能,可以通过设置ToolTip的AutoPopDelay属性来控制消失的时间。

2024-04-29 13:15:31 182

原创 数据库索引

同时,定期对索引进行优化和维护也是非常重要的,可以通过数据库性能分析工具来监控索引的使用情况,及时调整索引策略以提高数据库性能。2.ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。索引前缀:对字段的前缀创建索引,适用于字段值较长的情况。唯一索引:对字段创建唯一索引,确保字段的数值唯一性。索引优化器:根据查询的实际情况选择最优的索引使用方式,避免不必要的全表扫描。

2024-04-25 09:53:45 293

原创 在SQL中使用某个表的代码

需要注意的是,这里的代码示例是针对一般的关系型数据库(如MySQL、Oracle等)而言,具体使用方法可能会有一些差异,需要根据具体的数据库系统和版本进行调整。

2024-04-19 11:07:57 200

原创 数据库之SQL优化

只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用 ↩︎。随着数据的增加, 劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍, 优化SQL查询速度, 提高SQL质量已成为 重中之重*type:这列最重要,显示了连接使用了哪种类别,有无使用索引,是使用Explain命令分析性能瓶颈的关键项之一。如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用 ↩︎。

2024-04-19 10:53:58 570

原创 如何提高soket通讯

确保发送缓冲区被清空。通过这种方式,我们可以发送更大的数据块,从而提高性能。库来创建异步的TCP客户端,并通过。在这个例子中,我们使用了。

2024-04-15 15:54:09 381

原创 Winform开发框架重构总结

最近一直致力于Winform开发框架的重构工作,因为发现要维护传统Winform开发框架、WCF开发框架、混合式开发框架,以及相关的模块,包括权限管理、字典管理模块、附件管理、人员管理等一些辅助模块,很多代码都会有重复的部分,优化的框架是想提高效率,减少冗余重复代码,本文总结Winform开发框架重构工作中的一些经验总结,希望能够对大家有一定的参考作用。

2024-04-15 15:36:32 1778

原创 工业相机(高速相机)与普通相机的差别

1. 分辨率(Resolution):相机每次采集图像的像素点数(Pixels),对于数字相机一般是直接与光电传感器的像元数对应的,对于模拟相机机则是取决于视频制式,PAL制为768*576,NTSC制为640*480,模拟相机已经逐步被数字相机代替,且分辨率已经达到6576*4384。综上所述,工业相机(高速相机)相对于普通相机来说,具有更高的帧速率、更高的分辨率、更高的光敏性、更多的接口和控制选项,以及更强的耐用性和可靠性。耐用性和可靠性:工业相机通常具有更强的耐用性和可靠性,以适应恶劣的工业环境。

2024-04-15 14:59:37 425

原创 SQLServer的安装及使用教程

要下载和安装 SQL Server 数据库,您可以按照以下步骤进行:下载 SQL Server 数据库:安装 SQL Server 数据库:连接 SQL Server 数据库:连接到 SQL Server:创建数据库:创建表格:插入数据:查询数据:管理数据库:

2024-04-10 11:20:44 299

原创 MySql数据库下载及安装教程

通过以上步骤,您就可以成功下载并安装MySQL数据库,并开始使用它进行数据管理和操作。

2024-04-10 11:10:08 252

原创 大数据相关技术

Hadoop:Hadoop是一个开源的分布式存储和处理大规模数据的框架。这些技术在大数据领域发挥着重要的作用,帮助人们处理和分析海量的数据,从中发现价值,并支持决策和创新。以上列举的仅是大数据领域的一部分技术,随着技术的不断发展,大数据领域的技术也在不断更新和演进。实时数据处理:实时数据处理技术可以在数据被生成的同时进行处理和分析,用于监控、实时决策等场景。大数据技术是指处理和分析大规模数据集的技术和工具。数据流处理:数据流处理技术用于处理实时产生的数据流,支持实时的数据分析和决策。

2024-04-10 11:06:47 294

原创 介绍 Apache Spark 的基本概念和在大数据分析中的应用

实时处理:Spark Streaming 提供了实时处理和分析大规模流式数据的功能,例如日志分析、实时监控和实时推荐等。总之,Apache Spark 是一个高效并且通用的大数据处理引擎,可以应用于各种大数据分析任务,包括批处理、实时处理、机器学习和图分析等。MLlib:MLlib 是 Spark 的机器学习库,它提供了一系列机器学习算法和工具,用于分类、回归、聚类和推荐等任务。GraphX:GraphX 是 Spark 的图处理库,它提供了一些图算法和操作,用于分析和处理大规模图数据。

2024-04-10 10:58:31 190

1、使用GDI+缩放图像 2、临近点差值 3、反距离加权差值

1、使用GDI+缩放图像。 2、临近点差值 3、反距离加权差值

2023-05-16

克里金插值算法绘制云图,生成DEM等高线

克里金插值算法绘制云图,生成DEM等高线

2023-05-16

Winform中实现云图(等高线图)绘制算法源码

介绍三种绘制云图或等高线图的算法。点距离反比插值、双线性插值和面距离反比+双线性插值。

2023-05-16

空空如也

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

TA关注的人

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