![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
OnePiece白胡子
白胡子
展开
-
c# 并发编程-锁
同步用Lockprivate static readonly object obj = new object();Lock(obj){ //代码段}异步用AsyncLockprivate static readonly AsyncLock asyncLock = new AsyncLock();using (await asyncLock.LockAsync()){ //代码段}延迟提交使用存储过程...原创 2021-11-17 16:10:01 · 480 阅读 · 0 评论 -
C# ManualResetEvent 粗略认识
//堵车或者红灯的意思ManualResetEvent mre = new ManualResetEvent(false);//红灯,非120或者警车不得继续出行mre.WaitOne();//绿灯,可以继续通行(警察出警,120)mre.set();//ReSet()遇到mre.WaitOne(); 还是红灯mre.ReSet();...原创 2020-12-18 20:12:31 · 118 阅读 · 1 评论 -
C# 线程池ThreadPool
仔细看:https://blog.csdn.net/whbo111/article/details/7473304转载 2020-12-18 19:36:12 · 141 阅读 · 1 评论 -
c#中Debug和Release版的区别
一、Debug和Release的区别 Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息 Release:发布版本,不对源代码进行调试,编译时对应用程序的速度进行优...原创 2020-04-03 10:08:14 · 5021 阅读 · 0 评论 -
C# 获取Excel里面的数据
不废话,直接上代码。public DataSet GetTable(string fileName) { OleDbConnection Conn = null; DataTable dt = null; string connString = string.Empty; OleDbDataAdapter da = new OleDbDataAdapter();...原创 2020-01-22 11:21:10 · 229 阅读 · 0 评论 -
C# 测试K近邻算法(KNN) 仿Python
之前在接触Python的时候,用过这个算法,今天无聊就想用C#测试下。 K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。 int sampleCount = sampleList....原创 2020-01-22 10:58:34 · 533 阅读 · 0 评论 -
C#DataTable 速度优化
序列化DataTable是可序列化的,DataRow是不可序列化的,当你使用JsonConvert…SerializeObject(DataRows)是得不到你想要的结果的,因为C#规定DataRow不可序列化。查询当你的DataTable中的数据非常大的时候,而你又需要循环Select的时候,不妨先把这个DataTable转化为Dictionnary,再去select,这样的查询速度会大...原创 2019-09-04 17:26:08 · 3139 阅读 · 0 评论 -
Vs 中关于项目中的某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
问题:同事升级了.net4.5然后放在项目中Commit了。导致了我本地的报错。解决方法:1、单击工具>选择NuGet管理器>程序包管理器设置2、选择NuGet包管理器>程序包源>添加获取包源位置(https://www.nuget.org/api/v2/)名称可随意3、最后再重启vs,然后在点击NuGet还原就好了!!!问题: 首先出现这个bug的...原创 2019-08-28 12:58:42 · 5716 阅读 · 0 评论 -
C#中 Invoke的用法
在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写:void ButtonOnClick(object sender,EventArgs e){button.Text="关闭";}这样的写法运行程序之后,可能会触发...原创 2019-07-31 15:15:25 · 553 阅读 · 0 评论 -
C# 保留两位“有效数字”,而不是两位“小数”
1.问题描述:最近在处理软件结果显示时,发现如果利用 Math.Round(Number,N) 取N为小数时,有的结果不能显示完全比如:15.3245 和 0.00106 两个数字,如果 N=2 ,保留下来是15.32 和 0.00,这显然不是我想要的结果。我想要的结果是 15.32 和 0.0011(保留两位有效数字),怎么实现呢? - class Program { ...原创 2019-07-19 08:48:39 · 1507 阅读 · 0 评论 -
C# 程序员最终的归宿是什么?
某些人口口声声的所谓“管理”,完全是基于简单的那点“工资、行政”的考量,看起内涵就知道:取决于他会不会行政上比别的部门多获得老板10倍的成本投入,取决于他有没有成为老板一家人,取决于他有没有在一段短暂的时间内拿住老板的把柄。而不是取决于管理人员的足以服众的真本事。如果你觉得是取决于本事的,那么你还会纠结分不清楚今天与将来么?如果你到一个小公司,不用有什么能耐、而只要让公司的产品无法发展...原创 2019-06-04 12:18:27 · 445 阅读 · 0 评论 -
C# 该不该在C#中使用var关键词
作为一个并不勤快的程序猿,在项目开发过程中总是想尽办法少写代码,对var关键词的使用自然不会放过,几乎在每个能使用var的地方都用了var,对此,很多朋友同事给出了不同的建议,觉得能不使用var关键词就不用,主要理由有这么几点:使用var申明的变量类型并不明确,会降低程序的可读性并且增加了不确定性;为了保持代码风格的统一,减少var关键词的使用,跟以前的代码保持一致性。这些理由当然不可否认其合理...原创 2019-06-04 11:26:58 · 643 阅读 · 0 评论 -
C# 如何异步查询数据库
以前在学习Socket的时候,经常会使用到异步操作,孰不知将异步用到数据库查询上也是一把利器,特别是在大数据量查询的时候效果应该是比较明显的。我顺便写了一个小例子,供大家参考。 我们平时默认使用的查询是同步的,也就是说一方不等待另一方做好准备,当查询时间过长时,客户端会被一直阻塞在这里而不能做其他事情。而当我们使用异步时,程序并不会阻塞或挂起线程,它会通过一个代理的回调方法完成查询,主线程将会...原创 2019-06-03 08:10:43 · 1199 阅读 · 0 评论