![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
八荒我为王
这个作者很懒,什么都没留下…
展开
-
c#编码技巧(十八):新语法糖record深入分析
record的用法及反编译分析原创 2023-12-06 10:30:48 · 494 阅读 · 1 评论 -
c#编码技巧(十七):全面总结delegate、Func委托的写法演变
在实际编程中,很多情况需要把函数指针作为参数传入,因为具体函数的实现往往是变化的,但函数入口是不变(这里的函数入口指的是入参与返回值组成的函数形式)其实delegate/Func/Action并不少见,尤其是C#底层代码,几乎随处可见。它的本质也是一个函数指针,它可以实现函数/方法作为参数传入另一个函数方法体。甚至Func/Action的出现都是为了简化delegate的写法。delegate有多种写法,只不过是一个比一个简化而已。举个常见例子,linq中就大量用到Func。原创 2023-08-14 14:17:19 · 495 阅读 · 0 评论 -
c#编码技巧(十六):Aggregate妙用
Aggregate妙用原创 2023-03-15 11:25:33 · 1198 阅读 · 1 评论 -
c#编码技巧(十五):字典Dictionary用法
字典Dictionary活用原创 2023-01-19 09:52:59 · 2431 阅读 · 0 评论 -
【异常解决】(一)解决docker报错failed to compute cache key: “...“ not found
docker异常原创 2022-11-02 16:43:23 · 19733 阅读 · 3 评论 -
【Net Core系列】(一)控制反转、依赖注入及使用Autofac IOC容器
Autofac用途及示例原创 2022-07-10 14:13:57 · 1340 阅读 · 0 评论 -
sql server字段类型对应C#字段类型
C#字段类型对应数据库字段类型原创 2022-04-19 10:04:28 · 1558 阅读 · 0 评论 -
c#编码技巧(十四):扩展方法示例详解
C#扩展方法原创 2022-04-07 09:40:23 · 665 阅读 · 0 评论 -
《.net core/.net6》.net6如何读取配置文件
appsettings.json设置字符串{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "SqlConn": "PORT=5432;DATABASE=WebApp;HOST=localhost;PASSWORD=12原创 2022-01-25 09:03:50 · 2229 阅读 · 0 评论 -
c#编码技巧(十三):特性的使用及自定义特性
获取自定义特性原创 2022-01-14 20:47:08 · 383 阅读 · 0 评论 -
c#编码技巧(十二):系统自带的Url二次编码方法
var code = System.Web.HttpUtility.UrlEncode("$");//%24 var dec = System.Web.HttpUtility.UrlDecode("%24");//$原创 2021-12-20 20:28:23 · 248 阅读 · 0 评论 -
c#编码技巧(十一):逐行读取字符串
网上的逐行读取代码都不好用,自己写了一个。 /// <summary> /// 逐行读取,读到空行即停止 /// </summary> /// <param name="text"></param> /// <returns></returns> public static List<string> SplitByLine(str原创 2021-11-02 08:49:04 · 1914 阅读 · 0 评论 -
c#编码技巧(十):DataTable使用Linq、DataTable、List互相转化,创建DataTable、DataTable创建列、DataTable添加行
DataTable使用Linq、DataTable、List互相转化,创建DataTable、DataTable创建列、DataTable添加行原创 2021-09-28 13:51:47 · 1248 阅读 · 0 评论 -
使用linq把DataTable转为为list、List<string>
这里写自定义目录标题使用linq把DataTable转为为list、List使用linq把DataTable转为为list、Listvar result = dt.AsEnumerable().Select(x => x.Field(“BGBU”)).ToList();原创 2021-09-14 13:10:03 · 831 阅读 · 0 评论 -
c#编码技巧(九):三行代码生成多行相同字符串
var str = @"Insert into Table values()" + Environment.NewLine; //源字符串 var list = Enumerable.Repeat(str, 10); //重复生成10行 var text = list.Aggregate((pre, next) => pre + next); //List转...原创 2021-06-22 17:57:59 · 449 阅读 · 0 评论 -
【Net Core系列】(前言).net core学习笔记
【Net Core系列】(前言).net core/.net core 3.1/.Net 5笔记原创 2021-06-16 23:50:40 · 732 阅读 · 0 评论 -
解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Offi
解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}运行 "regedit"命令,打开注册表有关调用实时(JIT)调试而不是此对话框的详细信息,请参见此消息的结尾。**********原创 2021-06-07 08:32:22 · 12033 阅读 · 8 评论 -
c#编码技巧(八):属性的多种写法及用途举例
写法及用途看注释:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Simplifiy{ public class Person { //1.全写 private string name; public string Name原创 2021-04-22 23:35:29 · 1847 阅读 · 2 评论 -
c#编码技巧(七):排序去重
一步一步从简单开始:1.简单的单个数组/序列排序:(a)直接使用Array.Sort var array = new int[] { 3, 2, 4, 5, 6, 7, 1 }; Array.Sort(array); //对array排序遍历输出: foreach (var item in array) Console.WriteLine(item);原创 2021-01-16 01:02:16 · 929 阅读 · 0 评论 -
c#编码技巧(六):细究EventHandler和EventHandler<T>的用途与使用场景
假如有一个场景:A类的某个动作/事件,触发了B类的某个响应,一开始可能会想到委托事件:1.先声明委托2.再声明事件3.订阅:A的事件连接B的响应4.结果:A类的事件触发了,B类的响应也随之触发(一、普通做法)1.首先定义一个A类,声明委托、事件 public class Teacher { //官方定义:委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 //个人通俗点的理解:就是长某某样子的函数,如长得类似与"vo原创 2021-01-09 19:11:37 · 5582 阅读 · 5 评论 -
c#编码技巧(五):用泛型T实现遍历类的属性-遍历任意类的属性
本实例代码演示了如何利用泛型T,遍历任意类的所有属性:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace GenericT{ class Program { /// <summary> /// 本实例代码演示了如何利用泛型T,遍历任意类...原创 2020-12-26 17:46:48 · 1928 阅读 · 0 评论 -
c#编码技巧(四):多线程数据显示在UI-解决UI卡死问题-winform
先拖1个button,2个label,1个richTextBox到winform界面上,如图代码如下,具体过程看备注using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Drawing;using System.Linq;using System.Text;using .原创 2020-12-26 15:58:24 · 2392 阅读 · 0 评论 -
c#编码技巧(三):EventArgs的使用
c#编码技巧(三):EventArgs的使用如果有多个类要打印信息,如Student类,Teacher类,School类...如下代码。各类统一继承于EventArgs的话,那么传参就很方便了。using System;using System.Collections.Generic;namespace ConsoleTest{ class Program { //把打印信息统一为一个函数,一个EventArgs参数。 private .原创 2020-11-11 23:01:56 · 4329 阅读 · 0 评论 -
c#编码技巧(二):yield关键字的作用
c#编码技巧(二):yield关键字的作用using System;using System.Collections.Generic;namespace ConsoleTest{ class Program { static void Main(string[] args) { List<Student> lists = new List<Student>() {.原创 2020-11-11 22:42:56 · 232 阅读 · 0 评论 -
c#编码技巧(一):初始化与赋值
如下使用Person类时,初始化类属性,可利用c#初始化技巧简化赋值,避免一项一项添加,减少工作量:using System;using System.Collections.Generic;namespace PropertyClass{ class Program { static void Main(string[] args) { Person person = new Person() { Name = "Ben",原创 2020-11-05 20:43:25 · 3688 阅读 · 0 评论 -
C# 串口通讯提示“偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处的元素数量。”
写了一个C# 串口通讯软件,在高速通讯时(5ms~20ms)接收1条Message时,发生错误,打log发现如下错误:2019-10-18 13:44:20,050 [ERROR] [13] [Log][Error] - HandleDataReceived()System.ArgumentException: 偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处的元素数量。 ...原创 2019-10-19 15:02:21 · 5343 阅读 · 0 评论 -
C# Visual Studio更改程序集名称后,编译失败--问题已解决
问题现象:C# Visual Studio更改程序集名称后,如程序集名称从ABC改为EFG,点击“重新生成”或者“生成”、或者“F5启动”,编译依然失败。解决办法:是先删除bin/Debug文件夹里旧程序的ABC.exe和ABC.exe.config再回到编译器,点击“重新生成”,即可生成新命名的程序名,此时运行起来就OK了。...原创 2019-09-22 10:26:58 · 1699 阅读 · 0 评论 -
C#解决多线程窗口UI假死--委托的使用
C#解决多线程窗口UI假死--委托的使用:1.使用了Thread.Sleep()模拟线程耗时运行;2.用ParameterizedThreadStart创建了一个带参数的线程,使UI界面上输入的值能传递到线程中;3.线程运行期间,能够拖动UI窗口;4.线程结束后,结果显示到UI上。5.本例子旨在理解如何解决UI卡死问题,使用该方法会是否会出现什么问题,暂不予探究。UI:...原创 2019-04-11 16:45:58 · 3578 阅读 · 0 评论