随笔分类 -  C#基础语法

摘要:报错背景 这是一个和反射相关的奇怪问题: 具体报错如下: 报错的地方是: 这里是我想通过,prism提供的方式,弹出一个子窗口。这里prism应该也是用到的反射技术。 本来这段代码是正常工作的。 但是,在此段代码执行之前,我加了一段代码,也对这个界面的DLL进行了反射: 结果, prism就表示,找 阅读全文
posted @ 2022-12-08 10:33 宋桓公 阅读(843) 评论(0) 推荐(0) 编辑
摘要:背景 正则老是忘记啊,不总结不行啊!这里我不做特别全面的介绍,但是会介绍比较有用的点。围绕一个例子来讲解!然后逐步优化。跟着例子尝试,你一定能看懂! 例子 原始字符串 string xml_str = @"<?xml version=""1.0"" encoding=""utf-8""?> <soa 阅读全文
posted @ 2022-11-07 20:51 宋桓公 阅读(152) 评论(0) 推荐(0) 编辑
摘要:XDocument比XmlDocument好用太多。 XmlDocument 位于 using System.Xml; 下XmlDocument位于using System.Xml.Linq;下 XmlDocument 比如,我需要解soap格式的XML: string xml_str = @"<? 阅读全文
posted @ 2022-11-04 14:11 宋桓公 阅读(223) 评论(0) 推荐(0) 编辑
摘要:大概理解 查了一个小时的资料:async和await 发现这个大神的解释一针见血,深得我心!以最简单的例子,解释了async和await。妙~~~ 大多情况下,分开才能体现async和await的价值! 但,await 并没有这么简单。 深入分析 await和Wait()的区别 接下来继续往下看: 阅读全文
posted @ 2022-11-01 09:08 宋桓公 阅读(86) 评论(0) 推荐(0) 编辑
摘要:不过,我发现了另一个解决办法: contentData[item.columnChName] = Math.Round(decimal.Parse(test.Value), 3); 这样的话 Round返回的是decimal,这样的话精度够高,就没有出现精度丢失的情况了。 阅读全文
posted @ 2022-09-27 22:43 宋桓公 阅读(28) 评论(0) 推荐(0) 编辑
摘要:简介 SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服务器端软件,例 阅读全文
posted @ 2022-09-15 22:21 宋桓公 阅读(2092) 评论(0) 推荐(1) 编辑
摘要:如何通过泛型构建对象 private T CreatHcText<T>(string title) where T : FrameworkElement { T obj = (T)Activator.CreateInstance(typeof(T)); HandyControl.Controls.T 阅读全文
posted @ 2022-09-14 11:50 宋桓公 阅读(50) 评论(0) 推荐(0) 编辑
摘要:前言 本文用到的Json库是: 以前用这个 但是,现在微软主推上面这个,性能更优,用法其实差不多。 复杂结构的JSON 如何将一个复杂类型的JSON进行反序列化。那就是如何把json拆解成一个个子类的过程。 如下我有这样一个json字符串: { "success": True, "message": 阅读全文
posted @ 2022-09-13 22:08 宋桓公 阅读(302) 评论(0) 推荐(0) 编辑
摘要:踩坑记录 一 返回值无法显示中文的问题: 但是,如果先将其转成json,再将其转成字符串,就能显示中文了。 Newtonsoft.Json.Linq.JObject jo = Newtonsoft.Json.Linq.JObject.Parse(response.Content); jo.ToStr 阅读全文
posted @ 2022-09-08 14:25 宋桓公 阅读(915) 评论(0) 推荐(0) 编辑
摘要:1 如果你写了一个死循环,且没有任何延时,此时CPU占有率就会飙升。 2 Task.Delay() 是一个异步延时,写在同步代码中是起不到延时作用的。 3 Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下,让其他线 阅读全文
posted @ 2022-08-04 20:35 宋桓公 阅读(38) 评论(0) 推荐(0) 编辑
摘要:直接给出结论: 1 如果在外部初始化,就只能指定静态的方法! 2 如果在方法内部初始化就可以指定非静态方法! 阅读全文
posted @ 2022-06-20 16:36 宋桓公 阅读(33) 评论(0) 推荐(0) 编辑
摘要:背景: 这是一张雷赛卡的报错信息表,我想将其做成一个枚举,然后供异常系统使用: 下面这种写法,非常适合: enum MotionFuncErrCodeEnum { [Description("成功")] ERR_NOERR = 0, [Description("未知错误")] ERR_UNKNOWN 阅读全文
posted @ 2022-04-24 08:54 宋桓公 阅读(47) 评论(0) 推荐(0) 编辑
摘要:每一种语言都有深拷贝这个概念,其实本质上都是一样的,这次从C#的角度解释。 C# 有值类型和引用类型。值类型,如int之类的不存在浅和深的问题,直接赋值就完了。 引用类型,比如我们自定义的类。通过new的方式创建,new返回的其实是个“指针”, 或者说是引用,他自己在栈上,但是new分配的空间在堆上 阅读全文
posted @ 2022-04-23 16:55 宋桓公 阅读(41) 评论(0) 推荐(0) 编辑
摘要:背景: 当前我们开启一个线程,同时又想在线程里面访问界面的一些元素时,此时会报错,不能跨线程调用。为了解决这个问题,我们通常的解决方法是,使用invoke,将访问界面的部分放到invoke中,如: this.Dispatcher.Invoke(new Action(() => { })); 那么这样 阅读全文
posted @ 2022-04-19 21:06 宋桓公 阅读(82) 评论(0) 推荐(0) 编辑
摘要:首先安装包: 该包提供的yaml的序列化,和反序列化功能。 新建一个cs文件管理你的配置数据结构如: public class SeriaInfo { // Com 端口 public string port { get; set; } = ""; //波特率 public string baudR 阅读全文
posted @ 2022-04-13 14:00 宋桓公 阅读(126) 评论(0) 推荐(0) 编辑
摘要:有时空格的宽度比字母小 想在textbox中字母与空格占用的宽度相同,需要设置: FontFamily="Courier New" 这个是关键 其实,空格格式化,及不够长度用空格代替。 比如:关键使用方法:PadRight int num = 10; string str_speed = Strin 阅读全文
posted @ 2021-09-23 15:15 宋桓公 阅读(122) 评论(0) 推荐(0) 编辑
摘要:partial 可以实现将一个类的类容分布到不同的cs文件. 然后通过文件名,可以达到这种效果~~~~ 这样感觉还是挺酷的~~~ 阅读全文
posted @ 2021-08-24 18:23 宋桓公 阅读(28) 评论(0) 推荐(0) 编辑
摘要:没有参数: Func<TResult> 有参数:Func<T,TResult> T代表传入参数类型,TResult代表返回参数类型,当然可以有多个参数T1、T2、T3… 上代码 class FuncTest { string One(int num, string str, float f) { r 阅读全文
posted @ 2021-08-16 18:58 宋桓公 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示