随笔分类 - C#基础
摘要:在写WPF的时候配置文件app.config 读取的办法 -- 【可以直接安装 Microsoft.VisualStudio.SlowCheetah.vsix】 <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings>
阅读全文
摘要:在一直项目中使用文件下载,同事反应下载文件做进度条的时候没有正常显示进度条 大致代码如下 public class DowmloadModel { public string Url { get; set; } public string LocalSaveFullPath { get; set;
阅读全文
摘要:使用Serialize.Linq对Lambda表达式进行序列化和反序列化,之后再远程执行lambda返回结果 https://github.com/esskar/Serialize.Linq
阅读全文
摘要:using System; using System.Runtime.InteropServices; namespace Test { internal class A:IA { public void Hello() { Console.WriteLine("Hello World"); } }
阅读全文
摘要:起初是这样 using System; namespace MyNamespace { public class VCS { public static event Action<string> InviteToJoinMeetEvent; // 用于测试的主方法 public static voi
阅读全文
摘要:ConfuserEx GitHub开源地址:https://github.com/yck1509/ConfuserEx (https://github.com/mkaring/ConfuserEx) IEJIE.NET GitHub开源地址:https://github.com/dcsoft-yyf
阅读全文
摘要:通常用得多的是C++写了一个dll暴露成标准C的方式给C#调用,耐何如果要回调呢?需要C#给个函数给C++使用, 以下是记录,以前没写过感觉蛮有意思就记录一下 // 定义与C++回调兼容的委托类型 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
阅读全文
摘要:正常从github上clone开源项目的时候,最终经常出现错,类似curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8) 是因git设置的缓存小了,设置大些便可 1 再增加缓冲区大小: git config --global ht
阅读全文
摘要:在不同电脑上打开源码,发现 已用Unicode替换字符替换 提示 更改再次保存,且出现乱码。 这是因为源码采用非unicode 及utf-8编码原因引起。 因此需要设置一下系统 就行。 windows的【设置】 -> 【时间和语言】 -> 【语言】->【管理语言设置】->【更改系统区域设置】-【Be
阅读全文
摘要:ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; using (WebClient client = new WebCli
阅读全文
摘要:FileSystem.AppDataDirectory AppContext.BaseDirectory System.Environment.CurrentDirectory System.Windows.Forms.Application.StartupPath; System.Windows.
阅读全文
摘要:先看常见的问题 internal class Program { static void Main(string[] args) { var actions = GetSomeAction(); for (int i = 0; i < actions.Count; i++) actions[i]()
阅读全文
摘要:C#中,有很多方式可以获取程序运行的当前目录,常见的方式有: 1、string strPath1 = System.Environment.CurrentDirectory() ; 2、string strPath2 = System.IO.Directory.GetCurrentDirectory
阅读全文
摘要:事情是这样的,想使用线程间通信ChatGPT走一波 using System; using System.Runtime.InteropServices; using System.Threading; public class Program { // 定义常量,表示自定义消息 private c
阅读全文
摘要:经常有这种情况,写了个功能,发现无故短时间内被多调用。但是业务逻辑应该是单位时间内只允许最多 N次调用。 通常我们就会写上次和这次调用 时间比较 如果太短直接return. 但是这不是解决的根本。因此我想知道到底是谁调用了我? 这个需求一直好早就有,但感觉没有这种好的简单的实现方式。 今天偶然WPF
阅读全文
摘要:使用C#脚本需要引用库Microsoft.CodeAnalysis.CSharp.Scripting,下面是一些示例:最基本的用法是计算算数表达式: Console.Write("测试基本算数表达式:(1+2)*3/4"); var res = await CSharpScript.Evaluate
阅读全文
摘要:事情是这样的:使用C#写一个程序,需要检测一个智能笔的是否插入,电量 多少。 第一想法:SDK呀,不好意思没有条件。 那么如何把这变量数值传到我的程序中呢, 想了许多办法和查看这程序(C++写的)。 最终决定还是使用CE查查询内存吧(毕竟这不是游戏 故意防此hook以及内存故意混淆的可能性极低) 使
阅读全文
摘要:Timer是在ThreadPool线程池中执行的,每当计时器到期时,就会创建一个线程来执行事件处理程序。这种实现方式可能会导致一些问题,例如计时器事件处理程序可能会与主线程竞争资源,从而导致性能问题。此外,如果计时器事件处理程序抛出未处理的异常,那么将导致应用程序崩溃。 相比之下,Dispatche
阅读全文
摘要:我们都听说过C#写的代码 Release通常会比Debug性能要好一点跑得快一些。 先普及一些相关基础知识: (1)在CLR中将对sbyte、byte、short、ushort、int、uint、char、float 和 bool。以及引用类型保证读写时原子性的(long、double不是原子性读写
阅读全文