随笔分类 -  C#基础

数组和集合的复制方法
摘要:由于数组和集合都是引用类型, 当把一个数组array1赋值给另一个数组array2时,并不是真正将array1的值赋值给array2,而是将array1的指针赋值给array2。 由此造成当修改array2中的数据时,array1中的数据也会相应修改。 如何将array1中的数据赋值给array2, 阅读全文

posted @ 2023-04-19 12:00 hanzq_go 阅读(94) 评论(0) 推荐(0) 编辑

多线程导致CPU占用率过高
摘要:在winform项目开发中,尤其是上位机开发过程中,经常会使用多线程对设备数据进行读取。 例如新建一个线程对PLC数据读取,在读取时使用While(true)语句实现连续读取。 但是如果上述操作的线程多了就会导致CPU占用率过高,实例如下: 如上所述,新建5个线程,每个线程中都使用while (tr 阅读全文

posted @ 2023-04-19 11:12 hanzq_go 阅读(2325) 评论(0) 推荐(0) 编辑

将一个普通方法改写为异步方法
摘要:如何将一个普通方法改写成异步方法? /// <summary> /// 把一个普通无参,无返回值的方法转为异步方法 /// </summary> /// <param name="srcAction">要转的方法</param> /// <param name="callBack">回调方法</pa 阅读全文

posted @ 2023-03-17 11:48 hanzq_go 阅读(129) 评论(0) 推荐(0) 编辑

while循环内使用for循环
摘要:一个基础问题,while循环内使用for循环,且当for循环内有控制while循环条件时。 如下所示: bool flag = true; while(flag) { for(i=0;i<10;i++) { console.writLine(i); if(i==5) { flag = false; 阅读全文

posted @ 2023-03-03 14:59 hanzq_go 阅读(486) 评论(0) 推荐(0) 编辑

List<>的常用方法(未完,随时积累)
摘要:这里记录一些List<>集合的常用方法,随时学习随时积累。 1、Find方法 泛型集合List<T>中的Find函数用于查找集合中符合指定条件的元素..相比foreach遍历元素,用Find函数查找,代码更简洁. 函数原型如下: public T Find(Predicate<T> match); 阅读全文

posted @ 2022-12-14 11:36 hanzq_go 阅读(1295) 评论(0) 推荐(2) 编辑

使用泛型和反射实现:DataTable转List<Model>,以及将DATaRow转Model
摘要:使用泛型和反射实现:DataTable转List<Model>,以及将DATaRow转Model 代码如下: public class Helper { /// <summary> /// 将DataTable中的数据封装到List<Model>集合中。 /// </summary> /// <ty 阅读全文

posted @ 2022-12-14 11:25 hanzq_go 阅读(149) 评论(0) 推荐(1) 编辑

DateTime的各种使用方法
摘要:一、背景 项目经常会使用到关于获取当前时间的格式; 二、方法 我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-04 12:11:10)等。 1.获取日期和时间 阅读全文

posted @ 2022-12-12 17:08 hanzq_go 阅读(230) 评论(0) 推荐(0) 编辑

Convert.ChangeType的使用方法
摘要:Convert.ChangeType的使用方法 应用场景一: 如果你知道当前类型应当为string或其他已知类型的化的话,转换没有意义。 ChangeType往往用在不知道当前类型应当是什么的情况下,比如有个泛型方法要求从double类型转换为指定的T类型,显式转为T肯定是不行的,因为此时T可能时任 阅读全文

posted @ 2022-12-09 16:59 hanzq_go 阅读(421) 评论(0) 推荐(0) 编辑

反射的常用方法
摘要:1、通过反射创建一个实体类 第一种方法,通过Assembly加载程序集的方法 Assembly assembly = Assembly.Load("反射");//加载程序集 Type type = assembly.GetType("反射.MySqlHelper");//加载类型,要求必须是完全限定 阅读全文

posted @ 2022-12-07 12:07 hanzq_go 阅读(397) 评论(0) 推荐(0) 编辑

使用list和数组保存数据的差别
摘要:在上位机开发曲线供能时遇到一个疑惑的问题,但又感觉这个问题太基础,想求证一下。 需求:一共有1000个模拟量数据,每个数据记录600个点作为一组数据曲线,那么这1000个模拟量需要多少内存? 方法1,使用数组保存数据: 运行时,查看vs右边的进程内存发现开始时是13M内存,全部数据加载完成后是15M 阅读全文

posted @ 2022-12-05 14:16 hanzq_go 阅读(97) 评论(0) 推荐(0) 编辑

窗体传参的方法
摘要:在上位机软件开发中经常会遇到需要在两个或多个窗体之间传递参数的问题。 比如,在参数输入时,弹出一个窗体输入要写入plc的数据,然后点击确认完成输入。 如下所示,在窗体Form1中,双击textbox控件,弹出窗体2,输入相应的数据并确认后,窗体1中的textbox控件显示窗体2中输入的数据。 实现这 阅读全文

posted @ 2022-11-30 10:40 hanzq_go 阅读(124) 评论(0) 推荐(0) 编辑

基于C#实现文本读取的方法
摘要:这里介绍文本读取常用的方法,主要是采用FileStream或StreamReader进行文件读取,使用的界面如下: 代码如下: using System; using System.IO; using System.Text; using System.Windows.Forms; namespac 阅读全文

posted @ 2022-11-25 11:52 hanzq_go 阅读(1450) 评论(0) 推荐(0) 编辑

数组的一些常用方法
摘要:1、获取数组中一段连续的数据组成一个新的数组,如下所示: static void Main(string[] args) { int[] data = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] i1 = data.Skip(0).Tak 阅读全文

posted @ 2022-11-23 16:34 hanzq_go 阅读(37) 评论(0) 推荐(0) 编辑

使用Stopwatch统计程序执行时间
摘要:编程时,常常需要统计某段程序执行的时长,可以使用以下方法: Stopwatch sw = Stopwatch.StartNew(); sw.Start(); //需要执行的程序片段 sw.Stop(); Console.WriteLine("运行时间:"+sw.ElapsedMilliseconds 阅读全文

posted @ 2022-11-21 14:00 hanzq_go 阅读(184) 评论(0) 推荐(0) 编辑

关于栈和堆的一些分配问题
摘要:一、先写总结: 栈地址从高到低分配; 堆地址从低到高随机分配; 值类型只有栈地址,没有对地址; 引用类型既有栈地址,又有对地址。引用类型,只有在实例化后才在堆中有地址; 二、如何在visual studio中监视变量的栈地址和堆地址 选择变量→添加监视→在变量前加“&”,如下图所示: 阅读全文

posted @ 2022-08-29 11:40 hanzq_go 阅读(46) 评论(0) 推荐(0) 编辑

C#中的事件
摘要:之前看过刘铁猛老师视频关于C#中事件的讲解,感觉受益匪浅,将视频中的演示的示例放在这里,便于以后的学习。 事件5要素: 1、发布者 2、订阅者 3、事件的声明 4、事件的注册/事件的订阅 5、事件的触发 namespace EventExercise { class Program { static 阅读全文

posted @ 2021-04-19 15:11 hanzq_go 阅读(206) 评论(0) 推荐(0) 编辑

sql server 数据库连接
摘要:恢复内容开始 身份验证 SQL Server 支持两种身份验证模式,即Windows 身份验证模式和混合模式。 Windows 身份验证是默认模式(通常称为集成安全),因为此 SQL Server 安全模型与 Windows 紧密集成。 信任特定 Windows 用户和组帐户登录 SQL Serve 阅读全文

posted @ 2020-02-10 17:04 hanzq_go 阅读(1263) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示