C#
文章平均质量分 79
那里有颗树
开始静下心学习
展开
-
C# 获取计算机信息(操作系统/硬件)
C#我们可以通过类库System.Management获取计算机的基础信息。总结了一个通用类,只要根据参考信息填入path和key就可以获取相应的信息。这个只是针对单个设备,如果有多个设备单独写下就可以了。参考信息中key的":"和后边为说明信息,只使用前面就可以了。原创 2024-01-31 17:12:17 · 1325 阅读 · 0 评论 -
C#中多进程之间的通讯方式
c#的多进程通讯呢,大致上是分为这几类的,共享内存,借助Windows的MSMQ消息队列服务,以及命名管道和匿名管道,以及IPC HTTP TCP的Channel的方式,还有常用的Socket,借助Win32的SendMessage的Api来实现多进程通讯,还有最后一种就是多进程之间的信号量相关的Mutex转载 2023-09-08 16:35:16 · 299 阅读 · 0 评论 -
c# DocX编辑Word文档的表格
c# DocX编辑Word文档的表格原创 2022-07-11 17:01:25 · 827 阅读 · 0 评论 -
2022年了有哪些值得推荐的.NET ORM框架?
一.什么是ORM?ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。二.如何选择合适自己的ORM框架?对于我们而言选择ORM框架的目的其实都是为了让我们的程序更好的操作数转载 2022-03-01 13:44:43 · 2794 阅读 · 0 评论 -
.NET平台常见技术框架整理汇总
使用.NET平台开发有段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架。参考资料:基于.NET平台常用的框架整理.NET开源框架列表1.知识网络2.分类清单2.1.分布式缓存框架名称 说明 地址 Windows Server AppFabric 微软自家分布式缓存服务框架, 扩展了 Windows Server 为 Web 应用程序和中间层服务提供增强的托管、管理和缓存功能 https://www.microsoft.co转载 2021-01-05 15:01:28 · 2696 阅读 · 0 评论 -
C#无聊系列<1>基础类型
先来个整体体表格吧,后边再一点点拆,关键是想查的时候好查基元类型1FCL类型 2CLS相容3说明占字节范围boolSystem.Booleam是/true、falsesbyteSystem.Sbyte否有符号8位1-128 ~ 127byteSystem.Byte是无符号8位10~255shortSystem.Int16是有符号16位2-32,768 ~ 32,767ushortSystem.UInt16否无原创 2020-09-29 13:42:33 · 88 阅读 · 0 评论 -
.Net IL 指令速查
指令含义Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈上。Arglist返回指向当前方法的参数列表的非托管指针。Beq如果两个值相等,则将控制转移到目标指令。Beq.S如果两个值相等,则将控制转移到目标指令(短格式)。Bge如果...转载 2020-09-28 16:58:51 · 159 阅读 · 0 评论 -
DataGridView IndexOutOfRangeException -1
System.IndexOutOfRangeException: Index -1 does not have a value. at System.Windows.Forms.CurrencyManager.get_Item(Int32 index) at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e)at System.Windows..原创 2020-08-15 14:57:05 · 804 阅读 · 0 评论 -
C# 控件闪烁问题解决办法
控件闪烁目前了解的原因无非是各个控件绘制的先后的问题导致的,解决绘制的问题推荐两个方式1.双缓冲可以在控件初始化设置,注意父窗体要设置运行允许双缓冲 SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true);...原创 2020-04-27 14:07:42 · 1983 阅读 · 0 评论 -
VS常用快捷键总结
一直想尽量减少鼠标的使用,但有些快捷键总是记不住,有时间就稍微整理了下,生成了桌面背景,忘了直接看一下下面是桌面背景 1920*1080的原创 2020-01-04 13:07:13 · 105 阅读 · 0 评论 -
C#中&和&&的区别
前两天面试问到了这个基础点,一般项目用&&运算,&做位运算,有点模糊了,查了下,重新理一下1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。2)&&还具有短路的功能,即如果第一个表达式为false,则...转载 2019-01-21 08:40:50 · 2122 阅读 · 0 评论 -
设计模式(c#)代码总结
设计模式分为三种类型 创建型模式:简单工厂、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。 创建型模式一、简单工厂模式模式...转载 2019-01-08 17:29:01 · 342 阅读 · 0 评论 -
用VS的dumpbin查看程序的dll依赖项
打开 开始->所有程序->Microsoft Visual Studio 20xx ->Visual Studio命令提示(20xx),其中xx表示你的VS版本,笔者的是2010。比如查看路径为F:\econDe.exe的程序econDe.exe程序依赖哪些dll文件,可用如下命令c:\Program Files (x86)\Microsoft Visual Studi...转载 2018-09-13 17:32:44 · 2935 阅读 · 0 评论 -
c#进程外Com服务(exe)编写调用
网上有些进程外的一些资料,但有些简单,研究了两天写了demo,可利用这种方式解决64位的程序调用32位的dll等问题,但注意方法参数不能含有IntPtr,因为指针跨进程是无效的,每个进程都有自己的内存区域 一.编写外部Com服务exe 1.首先新建一个winform的应用程序,并设置com程序集可见2.编写com类 编写com接口,guid可利用vs的工具生成,代码设置com接口的可...原创 2018-03-13 14:36:43 · 6730 阅读 · 2 评论 -
C# ListView用法详解 很完整
一、ListView类 1、常用的基本属性: (1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。 (2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。 (3)All转载 2016-08-25 09:53:06 · 4865 阅读 · 0 评论 -
c#调试输出
1.代码执行计时 System.Diagnostics.Stopwatch // 使用 StopWatch 进行测量Stopwatch sw = new Stopwatch();sw.Start();for (int i = 0; i 1000; i++) { ++i; }sw.Stop();Console.WriteLine(sw.Elapsed);原创 2016-10-27 13:42:43 · 4052 阅读 · 0 评论 -
.NET 体系结构
1. .NET 框架结构公共语言规范 (CLS)此规范是实现 .NET 框架的所有语言的基础,定义了公共类型系统的标准和所有语言必须实现的功能。这是第三方语言与框架集成的基础。 Windows 窗体 所有语言都共享公共 Windows 窗体引擎。窗体设计器在所有语言中都是一致的,因此所有语言都可以访问提供相同属性和方法的相同固有控件。即使使用不同的语言开发转载 2016-08-10 15:30:33 · 774 阅读 · 0 评论 -
c#基础<一>-C#各个版本
C# 1,Visual Studio .NET 2002首次发布 C# 1.1,Visual Studio .NET 2003#line 杂注和 xml 文档注释C# 2,Visual Studio .NET 2005匿名方法、泛型、可以为 null 的类型、迭代器/yield、static 类、委托的协变/逆变C# 3,Visual Studio .NET 200转载 2016-10-20 09:39:38 · 511 阅读 · 0 评论 -
c# try..finally VS return
c# try..finally return原创 2017-06-05 09:29:21 · 282 阅读 · 0 评论 -
开发环境与DevExpress的版本兼容关系
项目编译是没问题的。但调试运行时,出现“未能加载文件或程序集”、“找到的程序清单与程序集引用不匹配”等奇奇怪怪的问题。在确认所引用的DLL文件无误后,觉得可能是因为项目迁移,开发环境改变导致的版本兼容问题。翻看官方手册,有豁然开朗的感觉。以下是DevExprss与.Net版本及Visual Studio版本的兼容性关系1、与.Net Framework 的版本兼容关系转载 2017-06-16 09:53:48 · 8081 阅读 · 1 评论 -
C# 全局异常处理
C# 全局异常处理转载 2017-06-06 15:47:41 · 1283 阅读 · 0 评论 -
c# Thread.Sleep与Task.Delay 区别
c# Thread.Sleep Task.Delay原创 2017-06-07 17:11:26 · 11214 阅读 · 0 评论 -
VS2013 产品密钥 – 所有版本
Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9Visual Studio Premium 2013 KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494Visual Studio Professional 2013 KEY(密钥): XDM3T-W3T3V-MGJWK-8BF转载 2017-06-09 15:46:00 · 572 阅读 · 0 评论 -
c# 两个intPtr之间内存拷贝
c#中的March 提供了intPtr数组与intPtr之间的转换,但intPtr之间的却没有,尝试过引入window的copymemory但是拷贝出来的是错的,经多次尝试发现借助byte[]是可以完成的。下面直接上代码: public struct SCENE { public uint dwSize;原创 2017-07-12 17:31:35 · 7355 阅读 · 0 评论 -
C++ 多维数组转C#
C#调用C++Dll的多维数组采用降级使用,即将c++的多维数组,转成C#的一维数组处理例如:c++: typedef struct Test{ DWORD dsize; BYTE testArray[3][9];}C#:public struct Test { public uint dsize; [System.Runtime.原创 2017-06-26 09:50:16 · 1501 阅读 · 0 评论 -
c# 控件多屏显示全屏功能
工作中做了个播放的自定义控件,但程序在多屏幕显示器上运行时,全屏后总在主显示器上,查了些资料,做以下总结避免以后走弯路 if (m_FullScreen) { MenuItem_Fullscreen.Text = "退出全屏"; if (m_FullSreenSingle原创 2017-08-14 15:04:12 · 2460 阅读 · 0 评论 -
Dev GridControl 有数据显示空行
因为项目中用到了GridControl 出现了空行,但网上未找到解决办法,现在写个小结第一种情况:绑定的字段名称不正确(一般大小写问题,容易排查)第二种情况:绑定List,但List内的类的字段不具有get属性 先上有问题的Demo代码 public partial class Form1 : Form { List原创 2017-10-19 09:48:51 · 2272 阅读 · 0 评论 -
c# Http Get Post Put Delete类整理
因为对接海康的某协议用到了http,本来已以往的经验使用http会很简单,但post和get一直提交xml数据失败,几乎试遍了网上常用的方式还是没有效果,三天后还是团队有人用socket直接发送到成功了,不甘于直接用socket,继续研究终于发现header里也要存放数据才可以 ,一句 myRequest.Headers.Add("data", data);让我三天半浑身不爽,记录下,以免后边继续...原创 2017-11-02 14:50:12 · 6871 阅读 · 2 评论 -
c# List内对象的指向变化问题
因为之前写的项目对象复制一直是写个clone方法,浅拷贝和深拷贝这里就不说了,突然想偷懒,取出List的对象直接更新指向是不是可以,于是写了下面的小例子测试下 public class PP { public int aa; public string ss; } PP pp = new PP();...原创 2017-12-29 10:40:58 · 652 阅读 · 0 评论 -
c# 进程内com组件实现
一.com组件编写 1.打开VS2013创建一个项目 2.设置项目属性 添加签名 3.编写开放接口和方法 ,添加类文件Main.csusing System;namespace MyComIn{ public interface MyInterface { int add(int a, int b); } pub...原创 2018-02-06 16:34:43 · 1483 阅读 · 0 评论 -
winform进程间嵌套、拖拽、消息通讯
一、进程间嵌套 有时候项目的架构因为一些特殊原因需要采用多进程方式,我们需要把模块(单独进程)的嵌入到我们的主进程界面中。 1.首先我们利用ProcessStartInfo类将外部程序启动 ProcessStartInfo info = new ProcessStartInfo(FileNameStr); //FileNameStr 外部程序完整的路径+程序名称 ...原创 2018-03-13 10:17:59 · 597 阅读 · 0 评论 -
winform Control与UserControl的区别
作为创建控件的起点,有两个类分别用于不同的情况。理解这两个类的结构,有助于确定什么场合应使用哪个类。 1、Control类Control类包含在System.Windows.Forms名称空间中,其基本功能包括:在屏幕上定义一个矩形区域,给它提供一个句柄,处理常规的系统消息。这样,Control类就可以处理用户通过键盘和鼠标输入的信息。Control类可以用作组件的基类,这转载 2016-08-31 10:52:39 · 14360 阅读 · 0 评论