C#
文章平均质量分 59
MechMaster
软件工程师/机器视觉工程师
展开
-
winform 大头针实现方法——把窗口钉在最上层
大头针原创 2024-08-14 21:20:44 · 417 阅读 · 0 评论 -
非范型ArrayList和泛型List<T>
它提供了动态数组的功能,允许你在运行时添加、删除和访问元素。然而,需要注意的是,ArrayList 并不是类型安全的,因为你可以向其中添加任何类型的对象,这可能会在后续处理元素时引发问题,比如类型转换错误。尽管 ArrayList 提供了一种灵活的方式来存储对象集合,但在现代 C# 编程中,更推荐使用泛型集合(如 List),因为它们提供了类型安全,避免了类型转换的需要,并且通常提供了更好的性能。在这个例子中,List 明确指定了其存储的元素类型为 int,因此不需要进行类型转换,代码更简洁、更安全。原创 2024-08-07 22:49:35 · 462 阅读 · 0 评论 -
C#中的同步编程和异步编程
【代码】C#中的同步编程和异步编程。原创 2024-07-28 11:03:40 · 379 阅读 · 0 评论 -
C# 接口的使用案例
【代码】C# IEnumerable接口的使用案例。原创 2024-06-03 14:51:07 · 698 阅读 · 3 评论 -
C# XML文件(相机参数保存和读取)
C# XML文件(相机参数保存和读取)1. XML基础2. XML基本操作3. 相机参数保存和读取原创 2022-11-05 11:29:58 · 2014 阅读 · 2 评论 -
C# 深拷贝与浅拷贝
深拷贝与浅拷贝值类型(value type):byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。值类型变量声明后,不管是否已经赋值,编译器为其分配内存。引用类型(reference type):string 和 class统称为引用类型。当声明一个类时,只在栈中分配一小片内存用于容纳一个地址,而此时并没有为其分配堆上的内存空间。当使用 new 创建一个类的实例时,分配堆上的空间,并把堆上空间的地址保存到栈上分配的小片空原创 2022-04-06 16:55:51 · 967 阅读 · 0 评论 -
C# 集合
可以使用集合来维护对象组。与数组不同,集合可以包含更高级的功能,例如,控制对它们包含的对象的访问、搜索和排序等。...原创 2022-04-06 15:53:55 · 271 阅读 · 0 评论 -
C# NPOI(xlsx相关操作)
NPOI1. NPOI2. 资源下载和项目应用3. 创建带表头的xlsx并写入数据4. 下载地址1. NPOINPOI:一个.NET库,用于读取和写入Microsoft Office二进制和OOXML文件格式。在这里我用他读写xlsx文件。NPOI采用的是Apache 2.0许可证(poi也是采用这个许可证),这意味着它可以被用于任何商业或非商业项目,你不用担心因为使用它而必须开放你自己的源代码,所以它对于很多从事业务系统开发的公司来说绝对是很不错的选择。2. 资源下载和项目应用在使用NPO原创 2021-11-02 20:17:15 · 945 阅读 · 0 评论 -
C# WebService获取天气信息
WebService1. WebService和MES系统2. 天气预报示例3. 代码下载1. WebService和MES系统现在很多工厂的数据上传采用MES上传模式,由客户端软件将数据文件生成到工控机的固定位置,服务器自动抓取。而下载数据又可以采用WebService,模式和天气预报类似。服务器就像国家天文台一样,把作业信息和调用方法发布到Web端,所有的客户端都可以直接使用Web端上面的方法获取信息。下面就用一个天气预报的例子来说明一下。2. 天气预报示例http://www.webx原创 2021-10-28 15:30:53 · 897 阅读 · 0 评论 -
C# 字符串string的基本操作
字符串的基本操作判断字符串中是否存在另一个字符串字符串剪切字符串替换字符串移除字符串长度字符串修剪(去掉回车换行)原创 2021-09-07 17:56:15 · 485 阅读 · 0 评论 -
机器视觉——计算视野的小工具
计算视野的小工具1. 使用方法和演示2. 相机主要参数表格2.1 海康威视2.2 巴斯勒3. 资源下载原创 2021-07-17 16:47:47 · 3075 阅读 · 0 评论 -
C# ini文件的读写
ini文件的读写using System;using System.IO;using System.Runtime.InteropServices;using System.Text;namespace IniTest{ class Program { static void Main(string[] args) { INIhelp.SetValue("标定", "X1", "123.456");原创 2021-07-08 19:29:35 · 280 阅读 · 0 评论 -
C# 计算一点绕另一点旋转一定角度后新点的坐标
计算一点绕另一点旋转一定角度后新点的坐标using System;namespace RotatePoint{ class Program { static void Main(string[] args) { double X = 0; double Y = 0; //顺时针角度为负数 RotateAngle(1, 1, -45, 2, 2, ref X,原创 2021-07-08 19:25:11 · 6108 阅读 · 1 评论 -
海康威视相机SDK开发(多个相机)
1. 示例:直接使用了海康威视的例程代码:单个相机多个相机2. 资源下载地址:原创 2021-07-07 18:02:55 · 4216 阅读 · 3 评论 -
海康威视相机SDK开发(1个相机)
海康威视相机SDK开发1. 需要的引用和命名空间2. C#代码3. 资源下载地址相机型号:MV-CE050-31GC1. 需要的引用和命名空间文件放在exe目录下命名空间:using MvCamCtrl.NET;using System.Threading;using System.Runtime.InteropServices;2. C#代码using System;using System.Windows.Forms;using MvCamCtrl.NET;usin原创 2021-07-07 13:32:11 · 1614 阅读 · 0 评论 -
C# 禁止用户关掉对话框的方法
禁止用户关掉对话框的方法1.应用场景2. 不显示最大最小和关闭按钮3. 重载窗口关闭按钮方法4. 代码下载地址原创 2021-07-02 20:30:24 · 889 阅读 · 1 评论 -
C#文件夹的创建和定期删除
文件夹的创建和定期删除1. 效果和代码2. 代码下载地址:1. 效果和代码using System;using System.Collections.Generic;using System.IO;using System.Windows.Forms;namespace PeriodicallyDelete{ public partial class FrmFileManagement : Form { string dist; strin原创 2021-07-01 19:27:35 · 815 阅读 · 0 评论 -
C#联合Halcon 自定义控件鼠标双击响应事件
自定义控件鼠标双击响应事件1. halcon的自定义控件2. HMouseDown事件1. halcon的自定义控件这两天做项目发现一个问题,halcon自带的控件hWindowControl的双击响应事件无效:下面的这些事件都无效只有 H 开头的有效,但是这里面有没有鼠标双击的事件我是想实现这样的功能,鼠标双击控件,让控件放大和缩小,最关键的一步就是鼠标双击事件的响应。所以我想到了下面这个办法:2. HMouseDown事件使用 HMouseDown事件 来代替鼠标双击事件,实现思原创 2021-07-01 19:10:09 · 1946 阅读 · 3 评论 -
C# 计时工具 Stopwatch
C# 计时工具Stopwatch 1. Stopwatch类 2. 使用示例原创 2021-06-21 17:47:06 · 1361 阅读 · 0 评论 -
C# 绘图(2)
绘图1. 坐标变换1.1 平移1.2 旋转1.3 缩放2. 在滚动窗口中绘图3. 字体4. 显示图像4.1 一般格式图像4.2 矢量图 WMF5. 代码下载地址原创 2021-06-18 14:43:12 · 716 阅读 · 1 评论 -
C# 绘图(1)
绘图 1. 概述 2. 坐标系和颜色 3. Graphics类 4. 画笔和画刷 5. 路径 6. 重写OnPaint方法 7. 绘图示例代码 8. 代码下载地址原创 2021-06-08 17:31:52 · 7353 阅读 · 1 评论 -
C# 类型判断
类型判断1. 类型判断用到的运算符2. 类型判断实例原创 2021-06-08 14:56:00 · 10189 阅读 · 0 评论 -
C# 接口
接口1. 什么是接口2. 银行账户类——实现接口3. 可转账的银行账户——接口的继承4. 接口的多继承和显示实现原创 2021-06-08 14:22:10 · 183 阅读 · 0 评论 -
C# 类型转换(is和as运算符)
1. 类型转换1.1 向上类型转换1.2 向下类型转换2. 简单的例子2.1 is运算符2.2 as运算符和强制类型转换3. 类关系视图原创 2021-06-08 10:31:24 · 354 阅读 · 0 评论 -
C# 多态的应用
多态性的应用1. 应用程序案例2. 多态的优点和应用原创 2021-06-08 09:40:37 · 382 阅读 · 0 评论 -
C# 扩展方法
C# 扩展方法原创 2021-06-05 15:25:39 · 111 阅读 · 0 评论 -
C# 对象的相等
C# 怎么判断两个对象是否相等原创 2021-06-05 15:01:03 · 423 阅读 · 0 评论 -
C# 索引
索引原创 2021-06-05 11:39:02 · 1317 阅读 · 2 评论 -
C# 运算符重载
方法重载运算符重载原创 2021-06-05 11:18:30 · 159 阅读 · 0 评论 -
C# static变量、const变量、readonly变量
变量1. static2. const3. readonly原创 2021-06-05 10:47:15 · 293 阅读 · 0 评论 -
C# DateTime类
面向对象编程1. 自己造轮子——Time类2. 现成的轮子——DateTime类1. 自己造轮子——Time类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace TimeClass{ class Program { static void Main(string[] ar原创 2021-06-04 22:14:59 · 300 阅读 · 0 评论 -
C# 根据年月日计算星期几
基姆拉尔森公式最近赶上换工作的空挡时间,难得有半个月的休息时间,随便翻看一些书,看到有意思的就记下来,会比较杂乱。基姆拉尔森公式可以用来计算某年某月某日是星期几,下面是使用C#进行演示的代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CalculateWeekDay{ /// &原创 2021-06-03 12:14:38 · 1104 阅读 · 1 评论 -
C# TCP服务器和客户端
网口通信1. 七层协议2. TCP协议3. 使用C#实现TCP3.1 服务器3.2 客户端4. 资源下载地址原创 2021-05-11 22:33:07 · 4505 阅读 · 1 评论 -
C# 串口通信
串口通信1. 基本概念2.C#代码实现串口通信3. 资源下载地址1. 基本概念数据是串行发送的,比如RS232、RS422、RS485,一位一位地发送数据,就是串口通信。串口通信分为同步和异步。串口通信要设置以下参数:串口号:com1,com2…波特率:9600,115200…数据位:8,7,6校验位:None,Even,Odd停止位:1,29针脚,2针脚收数据,3针脚发数据2.C#代码实现串口通信串口实例化设置串口参数打开串口发送数据接收数据(事件响应)us原创 2021-05-11 22:14:57 · 1690 阅读 · 0 评论 -
C# 委托
目录1. 委托定义2. 实例化委托3. 内置委托4. 多播委托1. 委托定义2. 实例化委托3. 内置委托4. 多播委托原创 2021-04-16 13:39:41 · 157 阅读 · 1 评论 -
C# .NET与数据结构
1. 数据结构2. 线性表3. 栈和队列4. 例子原创 2021-04-15 00:40:39 · 416 阅读 · 0 评论 -
C# 多线程
目录1. 线程概述1.1 线程的概念1.2 多线程的优缺点2. 线程的实现2.1 Thread类创建线程2.2 线程的生命周期3. 线程操作3.1 线程的休眠3.2 线程的加入3.3 线程的终止3.4 线程的优先级4. 线程同步4.1 线程同步机制概述4.2 实现线程同步的3种方法4.2.1 lock4.2.2 Monitor4.2.3 Mutex1. 线程概述1.1 线程的概念线程是进程中的执行流程,一个进程可以有多个线程,每个线程可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的原创 2021-04-14 21:21:36 · 700 阅读 · 0 评论 -
C# 异常
目录1. 异常1.1 处理异常:1.2抛出异常:1.3用户自定义异常:1.4 常见异常2. 实例2.1 捕获异常2.2 抛出异常2.3 代码下载地址1. 异常异常是指程序运行期间产生的错误。异常会导致运行程序提前终止。1.1 处理异常:异常处理机制是医用处理异常的一种结构化方法。基本思想是将异常的检测和处理分离。当一个函数体中检测到异常条件存在,但无法确定对应的处理方法时,将引发一个异常,并由函数的直接或间接调用者检测并处理这个异常。try{......}catch{}fin原创 2021-04-12 19:03:25 · 266 阅读 · 0 评论 -
C# 文件
目录文本文件读写二进制文件读写文件和目录的操作文档序列化文本文件读写链接:https://pan.baidu.com/s/16GDNn4MVOMQsbhx_i0c5IA提取码:m3ck二进制文件读写链接:https://pan.baidu.com/s/1UnQhpeKBuX9-59z6qQp3Ig提取码:3gg9文件和目录的操作链接:https://pan.baidu.com/s/1PdZvkZPY0aHDBouqH8kVUw提取码:j40k文档序列化...原创 2021-04-07 18:53:44 · 148 阅读 · 0 评论 -
C# GDI+绘图
目录1. GDI+1.1 Graphics1.2 Pen1.3 Brush1.4 Font2. 画笔/画刷示例:3. 屏幕刷新示例:4. 小球下落示例:1. GDI+每个容器都有一个坐标系,以便为对象的定位提供参考。容器坐标系统的默认设置是容器的左上角为坐标原点,横向向右为X轴方向,纵向向下为Y轴方向。窗体的原点在紧靠菜单和工具栏(如果有的话)的下方。系统默认的单位是像素Visual C#的图像系统GDI+(Graphics Device Interface,图形设备接口)是应用程序编程接口,可以原创 2021-04-01 21:59:08 · 827 阅读 · 0 评论