自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(122)
  • 收藏
  • 关注

原创 C#学习笔记总纲

最近使用C#越来越多,查的资料页越来越多,多了就乱,特重新梳理。如发现文章内容侵权,请联系我,即刻整改。

2024-07-01 20:25:26 107

原创 C# 线程之BackgroundWorker

如果事件处理程序中的DoWork代码通过检查 CancellationPending 标志并将 的 System.ComponentModel.DoWorkEventArgs 标志设置为 Canceltrue来检测到取消请求,则 Cancelled 的 System.ComponentModel.RunWorkerCompletedEventArgs 标志也将设置为 true。事件处理程序中的DoWork代码应定期检查CancellationPending属性值,如果true为 ,则中止操作。

2024-07-02 13:36:21 677

原创 C# 关键字

标识一个可以扩展但不能被实体化得、必须被实现得类或方法static:静态成员与它在其中被声明得类型相关联,而不是与类型得实体相关联;sealed:防止类型被派生,防止方法和property被覆载;virtual:一个方法修饰符,标识可被覆载的方法;new:用于调用构造器的操作符。同时,也是一个修饰符,用来隐藏而非重载拥有同样签名得一个继承方法;override:一个修饰符,表明一个方法将覆载一个虚方法或抽象方法,或一个操作符将覆载基类中定义的同名操作符;

2024-07-01 21:26:39 649

原创 C# 特性(attribute)

特性的定义:公共语言运行时允许添加类似关键字的描述声明,叫做attribute,它对程序中的元素进行标注,如类型、字段、方法、和属性等。attribute和.NetFramework文件的元数据保存在一起,可以用来在运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。定制特性attribute,本质上是一个雷,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息。1、定制特性应用范围定制特性可以应用的目标元素包括:程序集(assembly);模块(module);

2024-07-01 20:59:45 717

原创 C# 方法

方法在类或结构中声明,声明时需指定访问级别、返回值、方法名称及方法参数,方法参数放在括号中,并用逗号隔开。通过上面的属性和方法的介绍,希望大家了解方法和属性的基本使用方法,希望大家通过练习能够熟练的掌握属性和方法的使用,从而提高我们代码的质量,为后期的维护带来方便。在方法的撰写过程中,我们经常会对方法进行重载,方法的重载是指调用同一方法名,但各方法中参数的数据类型、个数或顺序不同。方法的分类:方法分为两大类,静态方法和非静态方法。在调用静态方法时需要由类名直接调用,而非静态方法则是通过类创建的对象来调用。

2024-07-01 20:17:04 165

原创 C# 属性

属性和方法是C#程序中两个重要的组成部分,其中,属性提供灵活的机制来读取,编写或计算私有字段的值,而方法则以一部分代码构成代码块的形式存在,用来实现一部分特定的功能。属性是一种用于访问对象或类的特性的成员。属性可以包括字符串的长度、字体的大小、窗体的标题和客户的名称。属性是成员的自然扩展,二者都是关联类型的命名成员。叙述这些枯燥的概念确实让人乏味,下面我就来介绍个属性使用的列子哦,供大家参考。上面的这个例子很好的描述了属性的创建于使用,希望大家能够举一反三。那么,我们就先从属性开始讲起吧!

2024-07-01 20:16:43 165

原创 C#——相等性与同一性 - 似乎有点小缺陷的设计

由于C#提供了多种比较判定方法,因此要正确实现可靠的比较判断需要付出一定的努力。这里简单结合编码规范和实践来给出一些总结性的建议。1. 若要进行相等性比较,请使用Equals方法(与其静态版本)2. 若要进行同一性比较,请使用ReferenceEquals静态方法3. 若要进行判空,请使用is运算符a is null;// 等效(object)a == null// 等效(object)a!= null4. 若可以确定==与!=运算符的行为,则可以加以使用以增强可读性1 == 1;

2023-10-22 07:08:31 191

原创 C#——关于Word或WPS转PDF的实现

如果在列表中找不到"Kingsoft Office"或"WPS Office",那可能是你没有安装WPS Office,或者你的WPS Office版本不支持COM组件。注意:这种方法同样需要在运行代码的机器上安装WPS Office,并且需要在项目中添加对KWPS和KWPS.Application的引用。请注意,使用此方法需要在运行代码的机器上安装WPS Office,并且需要确保你的项目已经添加了对KWPS的引用。首先,需要在项目中添加对KWPS和KWPS.Application的引用。

2023-10-22 06:59:54 687 2

原创 WindowsAPI——使用Windows API中键盘、鼠标监控钩子

函数,该函数可以将一个热键与当前应用程序或线程绑定,使得当用户按下热键时,系统会自动将该热键的消息发送到该应用程序或线程中,该函数原型如下;消息发送给注册了该热键的窗口,应用程序需要重载该窗口的消息处理函数来响应该事件,从而实现相应的响应操作。函数,该函数用于从消息队列中获取一个消息并将其存储在一个结构体中,通常用于在一个循环中不断地获取消息,从而实现对。消息,并监控是否为我们所需要的即可,如下代码是一段注册热键的实现,分别注册了。函数可以对所有线程进行监控,包括其他进程中的线程,而。

2023-10-22 06:55:10 2085

原创 C#扩展——HtmlAgilityPack

HtmlAgilityPack是.net下的一个HTML解析类库。支持用XPath来解析HTML。这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写。节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath解析之后,正则表达式已经要匹配的范围已经非常小了。而且,不用正则表达式在整个页面源代码上匹配,速度也会有提升。

2023-10-22 06:40:28 653

原创 C#之XML文件:文档结构

一个XML文档由两部分构成:第一部分是文档序言,第二部分是文档元素(节点)。 下面就一个简单的xml文档内容进行解析1.文档序言如: 文档序言通常位于XML文档的顶端,根元素之前出现,它是一个特定的包含XML文档设定信息的部分。XML 文档序言由如下几个部分组成: 用来设置XML文档解析时所需的基本参数。 XML 声明中的三个属性的名称分别是:version、encoding和standalone

2023-09-20 19:41:10 2048

原创 C#之XML文件:XML空间

根据Namespaces in XML W3C 推荐标准的定义,XML 命名空间 是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合;该集合通常称作 XML“词汇”。定义 XML 命名空间的主要动机之一是在使用和重用多个词汇时避免名称冲突。XML 模式用于为 XML 实例创建一个词汇并频繁使用命名空间。因此,正确理解命名空间概念对于从总体上理解 XML 模式和实例验证至关重要。程序可以包含许多可重用的类和接口。同样,XML 中的命名空间可以有许多可重用的元素和属性。

2023-09-20 12:16:08 358

原创 Math——奇进偶舍 BankersRounding

奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大,有的变小,更使舍入后的结果误差均值趋于零。而不是像四舍五入那样逢五就进位,导致结果偏向大数,使得误差产生积累进而产生系统误差。“奇进偶舍”使测量结果受到舍入误差的影响降到最低。其具体要求举例如下(以保留两位小数为例):要求保留位数的后一位如果是4,则舍去。

2023-09-18 17:29:37 209

原创 C#——计时器

Stopwatch 类 (System.Diagnostics.Stopwatch)Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。

2023-09-18 17:20:33 1216

原创 C#文件操作——配置文件

C#常用的配置保存文件

2023-09-18 17:09:48 3543

原创 Office VBA

Office Visual Basic for Applications (VBA) 参考 | Microsoft Learn

2023-09-16 20:51:09 42

原创 Excel:自动加载选项卡

Excel_VBA:自动加载选项卡

2023-09-16 19:24:07 111

原创 ESP8266

需要注意的是,对于发送和接收数据的具体实现,可以选择使用TCP或UDP协议,取决于你的应用需求。绑定地址和端口号:在服务器端,将套接字对象绑定到特定的IP地址和端口号上。创建套接字(Socket)对象:在客户端和服务器端分别创建一个套接字对象,用于进行通信。使用两个ESP8266模块进行数据的发送和接收是很常见的应用场景。这样客户端和服务器之间就建立了一个可靠的连接。建立连接:当服务器接收到客户端的连接请求后,会调用。方法发起连接请求,指定服务器的IP地址和端口号。发起连接请求(客户端):在客户端,调用。

2023-09-16 08:17:09 59

原创 物联网硬件开发

Arduino EthernetGP2D12

2023-09-12 21:22:13 51

原创 Arduino硬件:GP2D12

可以通过该曲线拟合出电压值与距离值的数学关系式,但是这个关系式里的距离是参考距离值,实际距离值=(参考距离值-0.42)cm,另外由于Arduino的模拟量采样命令analogRead(),采样的数据范围是0至1023,对应的电压范围是0至5V,每格数据代表0.0049V,于是读取的有效数据应该由86(0.42V)至520(2.548V)。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人以全速移动,结果就是,"砰"的一声。

2023-09-12 21:19:05 853

原创 Arduino硬件:Arduino Ethernet

具有14个数字输入/输出引脚,6个模拟输入,1个16MHz晶振,1个RJ45,一个供电口,一个ICSP接口,和一个复位按钮。Ethernet板上14个数字引脚中的每一个引脚都可以作为一个输入或输出,使用 pinMode(), digitalWrite()及digitalRead() 功能。在多数其他的Arduino板上,这个LED是在引脚13。带有IOREF引脚的插板,既与工作电压5V的AVR兼容,同时也兼容工作电压3.3V的Arduino Due. IOREF旁边的不是一个连接引脚,是为日后预留的。

2023-09-12 21:11:34 206

原创 Arduino学习——硬件

它具有 54 个数字输入/输出引脚(其中 15 个可用作 PWM输出)、16 个模拟输入、4 个 UART(硬件串行端口)、一个 16 MHz 晶体振荡器、一个 USB 连接、一个电源插孔、一个 ICSP接头和一个复位按钮。常见Arduino开发板系列有Uno、Nano、Mega2560、ESP8266、ESP32、PI PICO,他们的生态还在不断壮大,会有越来越多的开发板支持!Raspberry Pi Pico(最左),Pico H(中左),Pico W(中右)和Pico WH(最右)。

2023-09-12 20:59:26 591

原创 ARDUINO学习——示例:TM1637+按键 显示时间

【代码】ARDUINO学习——示例:TM1637+按键 显示时间。

2023-09-12 20:52:49 588

原创 Arduino学习——基础知识

随着社会的发展,越来越多的中小学生、老师、创客们、设计师、艺术家等都在玩Arduino,那Arduino编程语言入门难吗?我们都知道Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。所以如果你会编程语言C或者C++

2023-09-12 20:50:17 991

原创 C#关键字——介绍

关键字,也叫作保留字。是指一些被C语言赋予了特殊含义的单词关键字特征:全部都是小写在开发工具中会显示特殊颜色关键字注意点:因为关键字在C语言中有特殊的含义, 所以不能用作变量名、函数名等。

2023-09-03 22:58:12 136

原创 C#语法学习——DateTime时间结构

/ 年份(四位)// 月份(两位)// 日期(两位)// 小时(两位)// 分钟(两位)// 秒钟(两位)// 2022年10月31日// 12:30// 2022年10月31日 12:30:00。

2023-09-03 18:11:17 2150

原创 C#学习——类型——数据类型的转换

类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。

2023-08-31 02:54:30 38

原创 C#语法学习——数据类型

所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。字符串(String)类型是 System.String 类的别名。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用 sizeof 方法。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。值类型变量可以直接分配给一个值。您可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。

2023-08-31 02:39:34 29

原创 C#之XML文件:XML解析

XPath模型的XML文档的节点树。Dom4J(推荐):dom4j是目前在xml解析方面是最优秀的(Hibernate、Sun的JAXM也都使用dom4j来解析XML),它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。使用DOM4J+XPATH解析XML实践:使用XML实现数据存储,将页面用户提交的数据存储到xml进行持久化,按照分层设计思想,使用Jsp+Servlet实现简单的用户注册系统。

2023-08-26 13:12:19 124

原创 C#之XML文件:XML介绍

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.tarena.com.cn note.xsd” /> :指定xsd的物理位置,前半部分是名称空间,后半部分参数是物理位置。注意:当且仅当它们的名字相同时称二个名称空间相同,也就是说,对于有前缀的名称空间,如果二个名称空间的名字相同,即使前缀不相同,也是相同的名称空间,返之同然。名称空间的目的是有效的区分相同的标记,其实并不真实存在。

2023-08-26 12:58:44 7414

原创 文件格式——电子书:Azw3

azw3的本质是KF8,是随着2011年Amazon推出Kindle Fire平板时一起推出的。它填补了Mobi对于复杂排版支持的缺陷,支持很多HTML5和CSS3的语法,这就大大改善了原来mobi或azw内容排版上的一些缺陷,单纯从读者的角度来讲,是不输epub格式的。目前从Amazon购买的书,大部分已经是azw3格式了,而以前主流的mobi格式则越来越少,它正逐渐取代mobi成为Kindle电子书的主流格式。

2023-08-26 10:09:18 134

原创 文件格式——电子书:ePub

EPUB(Electronic Publication的缩写,电子出版)是一种电子图书标准,由国际数字出版论坛(IDPF)提出;其中包括3种文件格式标准(文件的附文件名为.epub),这个格式已取代了先前的Open eBook开放电子书标准。epub格式对于复杂的排版,图表,公式等元素的兼容性比mobi格式好很多,在脚本,公式,矢量图形的支持方面也强过mobi格式,现阶段epub格式的优势体现在图文混排、图片嵌入字体等,未来可预测的优势是epub格式对于声音,影像等多媒体内容互动的支持上。

2023-08-26 10:07:32 326

原创 文件格式——电子书:Mobi

kinder reader 阅读器python代码 : https://github.com/jiedan/kindlereader。mobipocket官网:http://www.mobipocket.com/dev/default.asp。mobi格式介绍: http://wiki.mobileread.com/wiki/MOBI。

2023-08-26 10:06:30 1557

原创 C#学习——基本类——Math类

如果 d 等于 System.Double.NaN 或 System.Double.PositiveInfinity,则返回该值。返回结果:d 的值 返回 零或正数 d 的正平方根。负 System.Double.NaN 如果 d 等于 System.Double.NaN 或 System.Double.PositiveInfinity,则返回该值。返回结果:角度 θ,以弧度为单位,满足 -π/2 ≤θ≤π/2 - 或 - 如果 d < -1 或 d > 1,则为 System.Double.NaN。

2023-08-25 14:27:18 1528

原创 C#学习——语法——构造与析构

如:int /char...,自定义类型就是我们使用class /struct /union等自己定义的类型。不实现构造函数的情况下,编译器默认生成的构造函数只对自定义类型进行初始化,而内置类型不进行处理,只会给予随机值。这是当初设计时留下的bug,无法进行修改。只能针对内置类型成员不初始化的缺陷,打补丁,即:内置类型成员变量在类中声明时可以给默认值。

2023-08-22 20:38:30 84

原创 C#学习——语法——Struct(结构)

结构类型(“structure type”或“struct type”)是一种可封装数据和相关功能的值类型。使用struct关键字定义结构类型。

2023-08-11 19:21:34 1500

原创 C#学习——语法——checked unchecked 关键字

checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的

2023-07-27 14:33:15 574

原创 C#控件开发之DragEnter、DragDrop拖放效果实现

利用TextBox简单的实现DragEnter、DragDrop拖放效果。

2023-07-27 14:16:47 502

原创 C#控件开发之ListBox的项变动消息及可以衍生的事件

ListBox控件项目变动的时候是没有事件的,只能自定义一套

2023-07-27 14:05:47 404

原创 C#控件开发之ColorListBox

一个控件实验,在ListBox显示颜色列表

2023-07-27 12:13:04 190

SendMessage消息说明

WindowsAPI SendMessage函数的Message说明,仍在更新中

2023-02-05

空空如也

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

TA关注的人

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