上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: C# 提供了Task来实现异步操作,Task.Run可以很方便的启动一个线程执行异步任务 异步操作能提高效率,但是不便于控制,假如我们要获得异步任务的执行结果,如果采用回调的方式,传值就比较麻烦 当然也可以直接调用Task.Result以同步的方式等待异步任务执行完毕后获得结果再行处理,但是这样就会 阅读全文
posted @ 2021-10-27 10:44 WmW 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 用Lazy对象能实现懒加载的效果,就是预先定制好对象,但是不去创建它,直到第一次使用的时候才会真正的创建,而且这个还是线程安全的,有了这个玩意,就不用自己去写类似的东西以及单例模式了 static void Start() { Lazy<AAA> aaa = new Lazy<AAA>(); Con 阅读全文
posted @ 2021-09-08 18:51 WmW 阅读(1907) 评论(0) 推荐(1) 编辑
摘要: 有时候需要返回多个参数,或者需要一个临时模型的时候可以用这个ValueTuple 元组,感觉很好用,很酷 static void Start() { var (name, age) = AAA(); var aaa = AAA(); List<(string, int)> list = new Li 阅读全文
posted @ 2021-08-05 15:38 WmW 阅读(90) 评论(0) 推荐(0) 编辑
摘要: C#使用Random.next产生随机数,Random对象每次创建都会使用一个随机因子,默认应该是系统时间,当我们在极短的时间内创建大量Random对象时,由于随机因子是一样的,产生的随机数也会是一样的,如果只创建一次Random,并每次调用next产生随机数,那么每次产生的随机数会作为下次的随机因 阅读全文
posted @ 2021-07-19 11:46 WmW 阅读(198) 评论(0) 推荐(0) 编辑
摘要: Dictionary<int, AAA> kv = new Dictionary<int, AAA> { { 1, new AAA() { Val = "abc" } } }; if (kv.TryGetValue(1, out AAA val)) { val = new AAA() { Val = 阅读全文
posted @ 2021-07-07 16:23 WmW 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 数值转字节数组,以及字节数组转数值,需要注意的是C#的本地字节序是小端模式的,而网络字节序却是(大端模式),所以我用到了IPAddress来进行Host和Network的转换 为了简单以及更好的性能,做了一些取巧的处理方式,尽量避免数组拷贝和反转,看上去很诡异,经过简单测试貌似没啥问题,不敢保证百分 阅读全文
posted @ 2021-06-28 18:12 WmW 阅读(2999) 评论(1) 推荐(0) 编辑
摘要: 以键值对的形式构建数据,并最终将其转成字节数组,浪费时间写的代码估计用不上了,也没多做测试,扔了可惜,保存一下,供以后学习研究 修改一个bug,BitConverter.GetBytes(val)没有sbyte和byte的重载,如果传入sbyte和byte的化,会默认调用short的重载,由于sby 阅读全文
posted @ 2021-06-23 15:30 WmW 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 有时候我们需要实现延迟执行,或者是定时执行,这个时候可以使用System.Threading.Timer Timer4个参数 TimerCallback callback:执行的函数,需要传入一个object类型的参数 object state:callback传入的参数的值,如果没有的话写成nul 阅读全文
posted @ 2021-06-04 11:39 WmW 阅读(2968) 评论(0) 推荐(0) 编辑
摘要: 今天遇见一个诡异的事情,我用FileStream操作一个文件的时候,明明设置了FileAccess.ReadWrite, FileShare.ReadWrite了,但是依然报错,说是“流不可写” 后来仔细一研究才发现,原来是我用的不对,我是在FileStream里面先用了BinaryReader,然 阅读全文
posted @ 2021-05-28 11:27 WmW 阅读(2033) 评论(0) 推荐(0) 编辑
摘要: 有时候保存数据的时候不想额外的搞个配置文件了,就想着能不能直接写到现有的文件中呢,答案是可以的 static void Main(string[] args) { try { Test(); } catch (Exception ex) { Console.WriteLine(ex.ToString 阅读全文
posted @ 2021-05-25 11:35 WmW 阅读(821) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页