随笔分类 -  日常随笔

一些日常知识点、方法,工具等的记录
摘要:常用的多线程写法: Thread.Start; ThreadPool.QueueUserWorkItem; Task.Run; 那async和await又是什么? async和await就是个语法糖,为了方便控制线程执行顺序; 必须成对出现,若方法标记为async但内部没有await,那就是个同步方 阅读全文
posted @ 2024-12-22 17:41 [春风十里] 阅读(28) 评论(0) 推荐(0) 编辑
摘要:WPF后台代码调用资源字典 1 public static Style GetResource(string uri, string key) 2 { 3 foreach (ResourceDictionary rd in Application.Current.Resources.MergedDi 阅读全文
posted @ 2024-11-21 15:21 [春风十里] 阅读(15) 评论(0) 推荐(0) 编辑
摘要:1. 使用线程Thread写法,若发生异常会导致程序崩溃; 使用Task.Run写法,若发生异常则线程结束,程序不会崩溃; 2. List.Add不是原子操作,在使用中务必加锁,它分两步,先增加Count,再将元素放入队列; 3. WPF的Button的IsMouseOver触发器不能修改Backg 阅读全文
posted @ 2024-11-09 17:32 [春风十里] 阅读(5) 评论(0) 推荐(0) 编辑
摘要:限制程序重复启动: bool noAny; System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out noAny); if (!noAny) { MessageBox.Show(" 阅读全文
posted @ 2023-08-16 18:21 [春风十里] 阅读(22) 评论(1) 推荐(0) 编辑
摘要:工作需要使用C#代码从SVN库中下载文件,网上查找后,实现功能,现简单记录。 1.首先打开解决方案-工具-库程序包管理器-程序包管理器控制台,输入指令: NuGet\Install-Package SharpSvn.1.7-x86 -Version 1.7006.2206;此时引用中出现SharpS 阅读全文
posted @ 2023-07-30 17:47 [春风十里] 阅读(606) 评论(0) 推荐(0) 编辑
摘要:1.首先将可执行程序发布到桌面快捷方式。 2.将快捷方式拖放到自己想要的位置。 3.右击-属性,修改目标为:%windir%\system32\cmd.exe /c start Bin\Debug\Practice.exe,这个Bin和快捷方式在同一目录下。 4.起始位置设为空。 5.点击应用-确定 阅读全文
posted @ 2023-07-26 10:20 [春风十里] 阅读(2240) 评论(0) 推荐(0) 编辑
摘要:winform和控制台的程序入口都是program.cs中的Main函数。 我们可以F5启动程序,也可以双击bin目录下的exe启动。现在我想通过exe启动程序时,给程序传入参数,程序根据收到的参数进行逻辑处理。 首先给Main函数增加参数: static void Main(string[] ar 阅读全文
posted @ 2023-07-16 14:34 [春风十里] 阅读(892) 评论(0) 推荐(0) 编辑
摘要:实现将字符串编译为代码并在程序中使用,实际应用可将字符串保存在文件中,程序启动后读取文件中字符转换为代码执行,这样只需要修改文件不改动代码就可以增删或修改程序功能,提高程序的灵活性。 例如,要实现下面的代码: using System; namespace TestSpace { class Tes 阅读全文
posted @ 2023-06-15 20:47 [春风十里] 阅读(116) 评论(0) 推荐(0) 编辑
摘要:工作中遇到的两种线程锁死的情况,特此记录: 1.Thread1和Thread2抢占同一对象中的2个锁obj1和obj2,对象如下: 1 public class Test 2 { 3 object _obj1; 4 object _obj2; 5 public Test() 6 { 7 _obj1 阅读全文
posted @ 2023-06-06 11:29 [春风十里] 阅读(237) 评论(0) 推荐(0) 编辑
摘要:平时在工作学习过程中,编写或调用函数时会遇到各种形式的参数,网络查询后特记录后用(参考他人总结): 共六种形式:值参数、引用参数、输出参数、参数数组、命名参数、可选参数; 值参数 最常用的参数形式; void DoWork(int para1, string para2, bool para3, f 阅读全文
posted @ 2023-06-06 09:43 [春风十里] 阅读(662) 评论(0) 推荐(0) 编辑
摘要:记录下日常用到的字符串的一些操作: 指定转换 string newStr = ""; //整数与16进制字符串的互相转换 string str = (2748).ToString("X"); int iData = Convert.ToInt32(str, 16); //整数与字符串的互相转换 st 阅读全文
posted @ 2023-05-24 15:44 [春风十里] 阅读(121) 评论(0) 推荐(0) 编辑
摘要:1.迭代器:可使用Foreach遍历,如List,Dictionary等,其继承IEnumerable接口,并实现public IEnumerator GetEnumerator()方法; 举例:有个动物园,其中有各种动物: public class Zoo : IEnumerable { List 阅读全文
posted @ 2023-05-20 11:31 [春风十里] 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1.扩展方法 为引用的类型追加方法,可提高代码编写效率,增加代码可读性; 例如有一个字符串,要对其进行2个操作:转换为整数;按1分割为数组; string str = "0121314";//给出字符串 int iValue = Convert.ToInt32(str);//转换为整数 string 阅读全文
posted @ 2023-05-19 21:38 [春风十里] 阅读(44) 评论(0) 推荐(0) 编辑
摘要:日常工作中需要将对象A的数据赋给对象B,常用做法就是字段/属性依次赋值,如果对象有很多个成员,依次写显然是个比较笨的方式。 下面使用内存拷贝功能来实现上述目的。引入命名空间: using System.Runtime.InteropServices; 首先给出类Cup,内有四个变量: [Struct 阅读全文
posted @ 2023-01-13 17:15 [春风十里] 阅读(744) 评论(0) 推荐(0) 编辑
摘要:引入命名空间: using System.Drawing; 以下代码即可实现: static void PrintScreen() { using (Bitmap bitPic = new Bitmap( width: Screen.PrimaryScreen.Bounds.Width, heigh 阅读全文
posted @ 2023-01-12 18:07 [春风十里] 阅读(185) 评论(0) 推荐(0) 编辑
摘要:反射:指程序可以访问、检测和修改它本身状态或行为的一种能力; 通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。 例如有一个学生类Student,包含有字段,属性及方法 1 class Student 2 { 3 public Student( 阅读全文
posted @ 2023-01-08 18:34 [春风十里] 阅读(339) 评论(0) 推荐(0) 编辑
摘要:方法借鉴其他作者,我进行了错误汇总并完善,记录以备后用; 首先建立一个功能函数,用于检查输入浮点数是否合法: function CheckValueError(theFloat){}//返回True表示错误,返回False表示通过 先进行判断是否为空: var len = theFloat.leng 阅读全文
posted @ 2022-12-07 10:32 [春风十里] 阅读(222) 评论(0) 推荐(0) 编辑
摘要:泛型(Generic) 允许延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。即定义的时候没有指定具体的参数类型,把参数类型的声明推迟到了调用的时候才指定参数类型。 日常代码编写中泛型使用较多的类比如List,Dictionary,本次使用泛型重写List类,加深理解。 首 阅读全文
posted @ 2022-10-24 17:11 [春风十里] 阅读(379) 评论(0) 推荐(2) 编辑

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