随笔分类 -  .NET

C# Framework
摘要:public static class TaskAsyncHelper { /// <summary> /// 将一个方法action异步运行,在执行完毕时执行回调callback /// </summary> /// <param name="action">异步方法,该方法没有参数,返回类型必须 阅读全文
posted @ 2019-12-31 18:11 wesson2019 阅读(246) 评论(0) 推荐(0)
摘要:深复制 阅读全文
posted @ 2019-12-31 18:09 wesson2019 阅读(1257) 评论(2) 推荐(6)
摘要:OnUIThread 阅读全文
posted @ 2019-12-31 18:08 wesson2019 阅读(542) 评论(0) 推荐(1)
摘要:Enum 扩展 阅读全文
posted @ 2019-12-31 18:07 wesson2019 阅读(172) 评论(0) 推荐(0)
摘要:System.Threading.ReaderWriterLockSlim,该类用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问。可以避免在同一时间段内多线程同时写入一个文件而导致的并发写入问题。 /// <summary> /// 读写锁,当资源处于写入模式时,其他线程写入需要等待 阅读全文
posted @ 2019-12-31 18:06 wesson2019 阅读(265) 评论(0) 推荐(0)
摘要:被主线程创建的子线程需要通知主线程做其他操作。 SynchronizationContext可以记录一个子线程的上下文然后在线程处理完之后,要用到主线程去操作的时候可以去Post或者Send一个事件去解决。 class TestClient { private Thread workThread; 阅读全文
posted @ 2019-12-31 17:54 wesson2019 阅读(308) 评论(0) 推荐(0)
摘要:C#自带的Dictionary支持Serializable,但不支持XML序列化。 Demo XmlDictionary<string, int> xmlDic = new XmlDictionary<string, int>(); xmlDic.Add("1X", 130); xmlDic.Add 阅读全文
posted @ 2019-12-25 11:40 wesson2019 阅读(708) 评论(0) 推荐(0)
摘要:Seperator 竖直分隔符 <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleK 阅读全文
posted @ 2019-12-16 15:03 wesson2019 阅读(848) 评论(0) 推荐(0)
摘要:实时、刷新、更新 阅读全文
posted @ 2019-12-02 17:15 wesson2019 阅读(217) 评论(0) 推荐(0)
摘要:RandomElement 阅读全文
posted @ 2019-12-02 16:42 wesson2019 阅读(604) 评论(0) 推荐(0)
摘要:foreach (var item in ReadLines("E:\\bigFile.txt")) { Console.Write(item); } /// <summary> /// 异步读取每行内容 /// </summary> /// <param name="fileName">指定文件的 阅读全文
posted @ 2019-11-26 20:44 wesson2019 阅读(280) 评论(0) 推荐(0)
摘要:节省内存消耗。 /// <summary> /// 字节流,包装流以实现高效的异步字节访问 /// </summary> public sealed class ByteStream : IDisposable { private readonly Stream _stream; private r 阅读全文
posted @ 2019-11-26 20:25 wesson2019 阅读(237) 评论(0) 推荐(0)
摘要:帮助使用者进行线程间的交互。具体的数据交流载体就是EventArgs e这个参数。 BackgroundWorker _backgroundWorker = new BackgroundWorker(); public Form1() { InitializeComponent(); InitBac 阅读全文
posted @ 2019-11-26 20:20 wesson2019 阅读(95) 评论(0) 推荐(0)
摘要:C# 多线程高并发的情况下,怎么让数据先到先执行? using System.Collections.Concurrent; using System.Threading; using System.Threading.Tasks; ConcurrentQueue<string> _queue = 阅读全文
posted @ 2019-11-20 10:13 wesson2019 阅读(593) 评论(0) 推荐(0)
摘要:? 可空类型 Nullable, Nullable value type T? ?? 空合并 null-coalescing operator a??b??c 当a为null时则返回b,a不为null时则返回a本身。 ?: 三元运算符 x?y:z 表示如果x为true,则返回y;如果x为false, 阅读全文
posted @ 2019-11-18 18:55 wesson2019 阅读(84) 评论(0) 推荐(0)
摘要:Find方法只能在List<T>上使用,而后两者能更广泛应用在IEnemerable<T>上。Find最终是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度会比FirstOrDefault快很多,据测试可能会快一倍以 阅读全文
posted @ 2019-11-18 18:42 wesson2019 阅读(198) 评论(0) 推荐(0)