
C# .Net
一阵没来由的风
It doesn't even matter
展开
-
C# 字符串中去掉换行符、间隔符等特殊字符
C# 字符串中去掉换行符、间隔符等特殊字符1.String.Replace方法在C#中替换字符串中的字符我们可以使用String提供的Replace方法。 string s = "sdsd"; string ss = s + Environment.NewLine; var eeee = ss.Replace(Environment.NewLine, ""); var nes = ss.Repla原创 2020-10-24 17:39:00 · 8031 阅读 · 0 评论 -
C# 获取本机网络信息
C# 获取本机网络信息IP MAC DNS 等信息获取 private void GetLocalInfo() { textBlock1.Text = ""; StringBuilder sb = new StringBuilder(); NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); //原创 2020-09-29 18:21:26 · 1059 阅读 · 0 评论 -
C# 死循环等待方式
C# 死循环等待方式在工业软件、上位机等需要对硬件设备进行实时通信的开发过程中,我们经常会使用死循环来循环读取缓冲区的数据。如下所示 private void Receive() { while (true) { //返回接收缓冲区中尚未被读取的帧数 UInt32 num = VCI_GetReceiveNum(devType, devIndex, devChannel);原创 2020-08-18 21:36:43 · 6437 阅读 · 0 评论 -
C# 文件操作笔记
C# 文件操作笔记找到当前路径下文件扩展名相同的文件 /// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> /// <returns></return原创 2020-05-15 19:38:28 · 274 阅读 · 0 评论 -
C# 从补码中获取有符号数的实际数值
C# 从补码中获取有符号数的实际数值原理计算机存储数据时,默认是存储数据的补码。有符号的数粗存在符号位(最高位)。这里就会提到原码、反码、补码的概念。原码:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。补码:正数的补码与原码相同,负数的补码为对该数的原码除...原创 2020-05-01 18:27:11 · 1909 阅读 · 0 评论 -
C# 字节(数组)与位之间的计算
C# 字节(数组)\16\32\64…位数据与位之间的计算运算符介绍运算名称运算符号左移<<右移>>与&或|非^截取数据例如: UInt32 mini = 0x000ED0FF; UInt16 low16 = (UInt16)(mini & 0xFFFF); UInt16 hight16...原创 2020-04-12 21:02:16 · 4212 阅读 · 0 评论 -
C# 日志文件存储
C# 日志文件存储思路:直接对txt文件内容进行存储即可。存储时,手动设置存储内容。核心程序 /// <summary> /// 日志系统 /// </summary> public class LogAct { /// <summary> /// 普通日志 /...原创 2020-03-24 08:46:36 · 1092 阅读 · 0 评论 -
C# 反射获取对象的属性名和属性值
Type t = Farsightedgo.Localization.LanguageManager.Instance.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetProperties()) { if (pi.Name == D...原创 2020-03-20 20:05:08 · 2417 阅读 · 0 评论 -
C# 获取路径下某种扩展名的文件
/// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> ///...原创 2020-03-19 18:47:54 · 1078 阅读 · 0 评论 -
C# 获取字符串的的字符长度
方法1:直接将字符串转换StringBuilder结构,然后获取Capacity来获取字符串中真实(一个汉字等于2或者4)的字符(字节)长度。使用Length获取字符(1个汉字也只有一个字符)长度。...原创 2020-03-12 18:35:06 · 2382 阅读 · 0 评论 -
C# 利用System.Xml.Linq对XML文件进行处理
Namespaceusing System;using System.Linq;using System.Xml.Linq;Building Modelusing System;using System.Xml.Linq;namespace Melphi.XmlServices{ /// <summary> /// 用户 /// </...原创 2020-01-12 13:14:13 · 1737 阅读 · 0 评论 -
C# Timer使用(WPF、Winform)
概述C#中的框架中,为我们提供了几种定时器,其实是3类。下面就通过自己的学习和应用简单介绍下:首先,定时器的原理:等待一段时间之后,开始执行任务;到了等待时间后,开始执行任务……一直循环。System.Threading.Timer简介这个定时器是一个单独的线程,执行任务(定时器回调任务)的线程分配由线程池管理。如果要使用定时器,他是最好的选择。优点:独立线程,等待周期变化稳定,不会受其...原创 2019-12-14 10:59:46 · 2762 阅读 · 0 评论 -
C# 使用C/C++动态链接库(dll) ——指针 IntPtr
需求C/C++程序中,最经典的就数指针了,如果对指针没有一定认识,那么C/C++语言的学习深度还不够。因此在一般的C/C++程序开发中使用指针作为参数传递也尤为普遍,我们前面的示例中,使用到的char* 与ByteArray* 都是指针。本节使用C#的IntPtr对接口参数进行定义。环境Windows 10Visual Studio 2017平台工具集:Visual Studio 201...原创 2019-12-14 09:18:27 · 7699 阅读 · 0 评论 -
C# 使用C/C++动态链接库(dll) ——参数传递&类型移植
需求在我们的方法调用也经常会遇到参数传递的情况,在传递过程中,如何让C/C++与C#在类型上统一呢?C/C++与C#中都有对应的传入参数和传出参数,简称入参与出参。本次通过出参来记录参数是如何传递的、数据如何接收的、数据类型如何统一对应等。动态库有个方法可以获取文件名GetFileName的方法,C#调用以获取文件名。环境Windows 10Visual Studio 2017平台工...原创 2019-12-14 09:11:02 · 2541 阅读 · 0 评论 -
C# 使用C/C++动态链接库(dll) ——简单应用
需求在日常开发中,偶然间就会使用C/C++编写的动态链接库。那么如何在C#中调用和使用C/C++动态链接库的函数呢?Melphi使用C/C++编写了一个AddCount()方法,用于计算两个传入参数的和,并返回给调用者。环境Windows 10Visual Studio 2017平台工具集:Visual Studio 2017 (v141)实现C/C++...原创 2019-12-01 18:57:00 · 3219 阅读 · 0 评论 -
C# Sokect通信(TCP)封装
由来描述从工业控制到物联网,我们的通信接口也由原来的串口逐步向网口发展。网络通信的方式基本上都是全双工(双方都可以在同一时刻进行发送和接收),但是在某些时候(设备控制),我们也习惯了使用半双工(不能同时发送和接收)的通信方式。本文就从如何使用Socket实现半双工的通信展开(虽然实际开发过程中使用的不多)。思路在串行的通信模式中,通信的流程一般为:上位机发送命令;上位机等待接收响...原创 2019-07-30 15:57:00 · 3099 阅读 · 0 评论 -
.Net(C#)转移字符解析(Unicode编码"\\ue72a"转换成"\ue72a"),使用Regex.Unescape(str)方法
一些字体的格式编码为Unicode,如:"\ue72a"。在C#的语法中,经常会将斜杠"\"自动转换成"\\"(这是转移字符)。但是当.net解析时,需要使用的是未进行转换的...不再啰嗦了。直接上解决方案:使用System.Text.RegularExpressions.Regex.Unescape(string)进行转换。 string unicodes = "e72a...原创 2019-03-21 15:25:20 · 4528 阅读 · 0 评论