C#
文章平均质量分 76
码农磊哥
真的勇士,敢于直面惨淡的warning、敢于正视淋漓的error。
Good judgement comes from experience, and experience comes from bad judgement.
展开
-
WPF中ListBoxItem中包含TextBox的选中问题及解决方法
WPF中ListBoxItem中包含TextBox的选中问题及解决方法原创 2022-11-02 11:19:50 · 2002 阅读 · 1 评论 -
使用PInvoke互操作,让C#和C++愉快的玩耍
目录导航一:背景二:PInvoke互操作技术1. 一些前置基础2. 基本类型的互操作2. 字符串的互操作3. 复杂类型的处理4. 回调函数(异步)的处理三:总结一:背景如果你常翻看FCL的源码,你会发现这里面有不少方法借助了C/C++的力量让C#更快更强悍,如下所示: [DllImport("QCall", CharSet = CharSet.Unicode)] [SecurityCritical] [SuppressUnmanagedCodeSecurity] priv原创 2021-02-24 11:00:54 · 858 阅读 · 0 评论 -
C#使用读写锁解决多线程并发写入文件时线程同步的问题
在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉,问题就有可能出现了,因为同一个文件并不允许多个线程同时写入,否则会提示“文件正在由另一进程使用,因此该进程无法访问此文件”。这是文件的并发写入问题,就需要用到线程同步。而微软也给线程同步提供了一些相关的类可以达到这样的目的,本文使用到的System.Threading..原创 2020-05-23 09:50:08 · 2016 阅读 · 0 评论 -
C# 中 volatile 关键字的解读
volatile关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile修饰符通常用于由多个线程访问而不使用lock 语句(C# 参考)语句对访问进行序列化的字段。有关在多线程方案中使用 volatile 的示例,请参见如何:创建和终止线程(C# 编程指南)。volatile关键字可应用于以下类型的字段:引用类型。 指针类型(在不安全的上下文中)。请注意,虽然...原创 2020-05-22 16:35:32 · 840 阅读 · 0 评论