C#
lfw2019
这个作者很懒,什么都没留下…
展开
-
VS2022中不显示引用数量解决方法
如果以上步骤仍不能解决问题,可能需要查找更具体的解决方案或联系Microsoft的支持团队获取帮助。此外,你也可以查看在线社区,如Stack Overflow或MSDN论坛,看看是否有其他用户遇到过类似的问题并找到了解决方案。原创 2024-07-15 14:58:26 · 289 阅读 · 0 评论 -
VS2019调试会跳过某些代码,但这些语句可以正常执行解决办法
在项目属性-生成中把“优化编码”取消勾选,重新发布调试即可解决。转载 2022-12-12 17:31:09 · 812 阅读 · 0 评论 -
GSN前瞻预处理
时,用户调用缓存区指令传递的插补数据先进入前瞻缓存区,当前瞻 缓存区放满之后,如果再有新的数据传入,最先进入前瞻缓存区的数据,则会进入插补缓存区。如果用户所有的插补数据已经输入完毕,前瞻缓存区中还有数据没有进入插补缓存区,这时,需 要调用。指令查询插补缓存区的剩余空间,在有空 间的时候再调用缓存区指令传递数据,如果插补缓存区已满,调用缓存区指令将会返回错误,说 明该段插补数据没有输入成功,需要再次输入该段插补数据。,运动控制器会将前瞻缓存区的数据依次传递给插补缓存区, 直到前瞻缓存区被清空为止。原创 2022-11-21 09:19:25 · 852 阅读 · 0 评论 -
枚举中HasFlag用法
【代码】枚举中HasFlag用法。原创 2022-10-31 17:13:33 · 600 阅读 · 0 评论 -
C#Queue
一个线程Enqueue 10000个数据的,另一个Dequeue 5000个数,如果线程安全,最后应该还有5000个数。例如:排队打饭,排队购买机票,打印队列中等待处理的打印业务等。队列是其元素以**先进先出(FIFO)**的方式来处理集合,先入队的元素会先读取。转载 2022-10-22 10:29:49 · 926 阅读 · 0 评论 -
C# Hashtable
可能有些没遇到过这种情况的初学者不好理解线程安全的意思,在多线程时,a、b两条线程都访问同一个Dictionary对象,在a线程中,会不断的因为业务操作,去修改Dictionary对象的值,而b线程想要时刻获取这些值,以为得到的跟a改变后的是一样的,但实际却不同。6.Hashtable是无序的,读取时,它并不按照你加入的先后顺序读出来。3.在读取速度方面,Dictionary要快一些,原因可能是装箱拆箱的损耗。类型安全,是指装箱拆箱,即把对象转为object,或者把object转为对象。转载 2022-10-22 09:34:26 · 1802 阅读 · 0 评论 -
C#事件访问器
下面示例演示了具有访问器的声明.两个访问器都有叫做value的隐式值参数,它接受实例或静态方法的引用。声明了事件访问器后,事件不包含任何内嵌委托对象.我们必须实现自己的机制来存储和移除事件的方法。我们可以通过为事件定义事件访问器,来控制事件运算符+=、-=运算符的行为。事件访问器表现为void方法,也就是不能使用会返回值的return语句。......转载 2022-08-04 10:17:39 · 493 阅读 · 0 评论 -
C#用this串联构造函数
代码】C#用this串联构造函数。原创 2022-08-04 09:14:49 · 2221 阅读 · 0 评论 -
DES加密
在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。.....转载 2022-07-27 14:58:57 · 1322 阅读 · 0 评论 -
ManagementClass类解析和C#如何获取硬件的相关信息
管理类是WMI类,如Win32_LogicalDisk,,该类型可表示一个磁盘驱动器,并Win32_Process,,它表示的进程Notepad.exe等。在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作。以上是对ManagementClass类的部分谁明,此类型的所有公共静态成员都是线程安全的。以上的获取硬件信息的方法可以直接封装在一个类中,可以在项目中直接引用,这样可以加快项目的开发速度。...转载 2022-07-25 09:59:21 · 3071 阅读 · 0 评论 -
设备唯一标识方法(Unique Identifier):如何在Windows系统上获取设备的唯一标识
不过,不管使用怎样的硬件信息或者牛气的算法来进行用户或者设备的标识,还是一句老话“道高一尺,魔高一丈”,都是可以被攻破的,即便你的标识伪造不了、克隆不了,攻击者也可以使用其它攻击方式,如逆向你的验证check代码,然后将其修改掉,使其check失灵。从软件授权这个简单的应用来看,购买外置密码设备硬件太过昂贵,可以采用简单的组合方法,推荐使用主板UUID作为主标识,当UUID返回无效的值时,可以进一步采用CPUID、BIOS序列号、MachineGUID等方式作为次标识,这基本可以解决问题。.........翻译 2022-07-25 08:50:55 · 4984 阅读 · 0 评论 -
C#全局异常捕获
开发界有那么一个笑话,说是“「我爱你」三个字,讲出来只要三秒钟,解释要三小时,证明却要一辈子。「Bug」三个字母,发现需要三秒,找到需要三小时,Debug却要一辈子。”。就算是资深的程序员也会写出Bug,但Bug并不可怕,重要的是在Bug发生的时候迅速定位Bug。在Visual Studio中调试的时候,我们可以借助VS的调试工具进行调试,一旦出现未处理的异常时,VS也会在第一时间捕获并显示出来。随着开发的进行,终于程序要打包上线了。那么在上线之出了BUG我们该如何处理呢?相信如果各位年龄够大,应该都见识过转载 2022-07-13 11:29:53 · 3831 阅读 · 0 评论 -
C# DataGridView添加新行的2个方法
C# DataGridView添加新行的2个方法可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方 法:方法一:int index=this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1转载 2022-04-20 16:31:04 · 9713 阅读 · 1 评论 -
Task.Run中if语句执行异常
if语句中不能直接加return ,如果加return,就算if条件不满足,也会跳进if语句直接执行return,而不执行return前面的语句原创 2022-04-07 19:48:14 · 575 阅读 · 0 评论 -
C#脚本引擎 CS-Script
最近在做新产品,这个产品需要满足不同项目对于系统的定制性数据处理需求,比如有的要统计一段时间内某开关打开关闭了多少次,有的要统计一段时间内空调的使用率,有的希望根据温度来控制空调的开还是关,有的则是希望根据教室内人员的多少来控制教室灯管的开关,或者根据季节来决定路灯的开关时间。总之规则很灵活,不同的项目有不同的需求,很难事先在系统中预先事先。 通过分析这些需求发现,其实他们有一些共同的输入输出,只是规则各不相同,这时我的第一反应就是脚本化,把一些常用的基础功能做成api,然后根据不同项目的需求编写不同.转载 2022-03-07 14:50:36 · 2203 阅读 · 0 评论 -
C#接口学习
一、可先声明一个接口,创建继承接口的类,声明一个方法,方法的类型为接口,调用时传入相应的实例化的类对象,既可调用类中的方法。原创 2021-12-27 15:01:08 · 214 阅读 · 0 评论 -
如何使用C#读写锁ReaderWriterLockSlim
这篇文章向大家介绍了读写锁ReaderWriterLockSlim,其优点就是多个线程可以同时读取该对象,要了解更多读写锁的知识,仔细阅读下文吧读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读写锁,则多个线程可以同时读取该对象,只有等到对象被写入锁占用的转载 2021-12-04 10:26:26 · 1276 阅读 · 0 评论 -
C#多线程读写同一文件处理
C#多线程读写同一文件处理在多线程访问读写同一个文件时,经常遇到异常:“文件正在由另一进程使用,因此该进程无法访问此文件”。多线程访问统一资源的异常,解决方案1,保证读写操作单线程执行,可以使用lock解决方案2,使用System.Threading.ReaderWriterLockSlim ,对读写操作锁定处理读写锁是以ReaderWriterLockSlim对象作为锁管理资源的,不同的 ReaderWriterLockSlim 对象中锁定同一个文件也会被视为不同的锁进行管理,这...转载 2021-12-03 17:30:27 · 2015 阅读 · 0 评论 -
c#中sealed关键字
sealed关键字的作用:在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止派生类重写此方法。 sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。密封类:密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。理所当然,密封类不能同时又是抽象类,...转载 2021-10-20 09:01:40 · 226 阅读 · 0 评论 -
C#中base关键字的几种用法
C#中base关键字的几种用法base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法。例如:2.1关于base调用基类构造函数public class A{ public A() { Console.WriteLine("Build A"); }}public class B:A{ public B():.转载 2021-10-19 17:28:32 · 2966 阅读 · 0 评论 -
C#datetime日期格式转换
C#中DateTime格式转换 在C#中DateTime是一个包含日期、时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式。常用的函数:DateTime.Now.ToString("yyyyMMdd")显示为:20160501;DateTime.Now.ToString("yyyyMMddHHmmss")显示为:20160501210635;目录1.分类2.制式类型...转载 2021-09-10 11:16:28 · 9482 阅读 · 0 评论 -
Newtonsoft.Json库下载安装方法
原创 2021-08-30 16:26:09 · 3500 阅读 · 0 评论 -
用C#获取当前函数名,当前代码行,源代码文件
用C#获取当前函数名,当前代码行,源代码文件//一.获取当前函数名: class Program{ static void Main(string[] args) { Console.WriteLine(test()); } static string Test() { var st = new System.Diagnostics.StackTrace(); r转载 2021-08-27 11:21:20 · 2514 阅读 · 0 评论 -
datagridview代码选中行无效,选中行不能显示选中整行,解决方法
dgv.DataSource = listw; dgv.ClearSelection(); dgv.CurrentCell = dgv.Rows[listw.Count - 1].Cells[0]; dgv.Rows[listw.Count - 1].Selected = true; //代码选中行...原创 2021-08-20 10:58:40 · 892 阅读 · 0 评论 -
VS中C++或C# if\while\for等代码块折叠方法
2013安装不上,可以更换为当前VS版本一样的版本,也可以先将outline插件先下载下来再单独安装。原创 2021-05-29 13:52:42 · 1575 阅读 · 0 评论 -
怎样判断两个ip地址是不是在同一个网段中?
我们先来了解一下,判断两个ip地址是不是在同一个网段的方法。 要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中。 例子: 第一个IP地址:192.168.1.9 子网掩码:255.255.255.0 第二个ip地址:192.168.1.10 子网掩码:255.255.255.0 将他们做与运算,首先要将十进制的ip地址转换为二进制的。 第一个IP地址:11000000....转载 2021-03-24 09:12:26 · 5591 阅读 · 0 评论 -
C#中静态与非静态方法区别与使用
C#静态方法与非静态方法的区别不仅仅是概念上的,那么他们有什么具体的区别呢?让我们通过本文向你做一下解析。C#的类中可以包含两种方法:C#静态方法与非静态方法。那么他们的定义有什么不同呢?他们在使用上会有什么不同呢?让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非静态方法。下面我们分四个方面来看看C#静态方法与非静态方法的差异:C#静态方法与非静态方法比较一C#静态成员: ①静态成员属于类所有,非静态成员属于类的实例所有。 ②每创建一个类的实例,都会在内存转载 2021-03-23 15:41:54 · 1977 阅读 · 0 评论 -
datagridview代码选中行
MultiSelect = false;selectionionMode = FullRowSelect;dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;原创 2021-03-15 19:10:40 · 337 阅读 · 0 评论 -
使用List对象绑定DataGridView数据源实时更新DataGridView中的数据
1、 在用List<T>对象绑定DataGridView数据源属性的时候,数据源的内容不会动态更新,如果List<T>对象集合中的数据发生变化,那么数据控件的数据源是不会得到更新的。一般也不建议用List<T>去填充数据显示控件的数据源。 如果一定要用List<T>对象去绑定数据源,那么首先设置DataGridView的DataSource属性为new List<T>(),然后再将List<T>集合重新赋值给Dat.转载 2021-03-14 21:01:05 · 5569 阅读 · 0 评论 -
如何:在 Windows 窗体 DataGridView 控件的单元格中显示图像
图片或图形是可以在数据行中显示的值之一。 通常,这些图形采用员工照片或公司徽标的形式。在控件中显示数据时,合并图片非常简单 DataGridView 。 DataGridView控件本身处理类支持的任何图像格式 Image ,以及某些数据库使用的 OLE 图片格式。如果 DataGridView 控件的数据源具有一列图像,则控件将自动显示这些图像 DataGridView 。下面的代码示例演示如何从嵌入的资源中提取图标,并将其转换为位图,以在 image 列的每个单元格中显示。 有关将文本单元格转载 2021-03-12 19:47:06 · 864 阅读 · 0 评论 -
Action、Func泛型委托学习
一、Action委托包含泛型版本和非泛型版本,都没有返回值、原创 2021-02-09 21:57:19 · 200 阅读 · 0 评论 -
List集合复制的一种方法
namespace arraylist集合{ class Program { static void Main(string[] args) { List<int> IList1 = new List<int>(); IList1.Add(1); IList1.Add(2); IList1.Add(3); Lis.原创 2021-02-08 21:35:40 · 214 阅读 · 0 评论 -
C#设计模式系列:备忘录模式(Memento)
1、备忘录模式简介1.1>、定义 备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。1.2>、使用频率 低2、备忘录模式结构2.1>、结构图2.2>、参与者 备忘录模式参与者: ◊ Memento ° 为创建对象的各个部件指定抽象接口 ° 防止Originator意外的其他对象访问备忘录。备忘录实际上有两个接口,Caretaker只能..转载 2020-12-13 12:54:01 · 341 阅读 · 0 评论 -
c#设计模式之装饰器模式(Decorator Pattern)
c#设计模式之装饰器模式(Decorator Pattern)引子在面向对象语言中,我们常常会听到这样一句话:组合优于继承.那么该如何去理解这句话呢?下面我将以游戏装备为模型用简单的代码去展示它先创建一个装备的抽象类,然后创建刀枪2个具体的业务子类 1 public abstract class AbstractEquipment 2 { 3 public int Id { get; set; } 4 5 public string转载 2020-12-13 12:11:28 · 378 阅读 · 0 评论 -
C#策略模式(Strategy Pattern)实例教程
这篇文章主要介绍了C#策略模式(Strategy Pattern),以一个简单的实例讲述了C#策略模式的实现方法,包括策略模式的用途以及具体实现方法,需要的朋友可以参考下本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。把动作抽象成接口,比如把玩球抽象成接口。代码如下:把动作抽象成接口,比如把玩球抽象成接口。代码如下: 1转载 2020-12-13 11:54:45 · 804 阅读 · 0 评论 -
C#中.Parse方法
C#中.Parse(string s)方法是将String转换成int,char,double....等,也如果转换不成功会报异常try { float.Parse(tbExposure.Text); //f将字符串转为单精度,如果字符串无法转换则会跑出异常 float.Parse(tbGain.Text); float.Parse(tbFrameRate.Text); } catch{ ShowErrorMsg("Ple原创 2020-09-03 21:32:53 · 7865 阅读 · 0 评论 -
C#项目中如何显示Resources文件夹
1、右击→项目→属性→资源2、点击添加资源,将图片或其它资源添加到资源3、如下图添加成功后,项目中显示Resources文件夹原创 2020-05-02 16:28:05 · 2260 阅读 · 0 评论 -
程序集
程序集:.net中的概念,反射主要为了获取程序集的类型元数据原创 2020-04-21 20:57:13 · 228 阅读 · 0 评论 -
C#反射学习
定义:反射就是动态获取程序集中的元数据和类型并创建对象调用成员1、关键类:Type Type类可以获取类中的所有信息包括方法、属性等。可以动态调用类的属性方法,Type是对类的描述,主要针对类2、如何获取一个类的Type对象: 1)如果该类有实例化的对象,则通过对象.GetType方法获取 2)如过该类没有创建对象...原创 2020-04-21 18:26:30 · 1727 阅读 · 1 评论 -
C#面试题
技术类面试、笔试题汇总(整理者:杨中科,部分内容从互联网中整理而来)注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系。下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能“以不变应万变”。回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应...转载 2020-03-13 09:47:46 · 8156 阅读 · 0 评论