勇哥注:事件很常见,但有重复的代码量。如果你想简化一下事件的编程,而且是整个程序只使用一个像事件池一样的东西,可以尝试使用下文讲的ObservableCollection观察者集合来做到。ObservableCollection<T>类表示一个动态数据集合,在添加项,移除项或刷新整个列表时,刺激和将提供通知通知可以由下面的枚举知晓你对集合做了什么才触发的事件。using System;...
对一个服务器程序想统计每秒可以处理多少数据包,要如何做?答案是用处理数据包的总数,除以累记处理数据包用的时间。这里要指出的是, 运行一段程序,使用的cpu时间,跟实际运行的时间是不一样的。附例如下:private void ShowRunTime()
TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessor...
勇哥注:.Net的Stopwatch类可以精确到1/10000毫秒, 有没有更精确的计时吗?见下面的代码。暂时没试过效果,大家可以试下。计算某个代码片段的执行时间,精确到CPU执行一条指令所用的时间(十亿分之一秒),可用于精确计算某个算法的执行时间。代码:using System;
using System.Runtime.InteropServices;
using System.Compo...
正在c#程序优化时,如果多线程效果不佳的情况下,也会使用多进程的方案,如下:System.Threading.Tasks.Task task=System.Threading.Tasks.Task.Factory.StartNew(
(object mystate) =>
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:4049 | 评论:0
2021-07-29 13:32:41
勇哥注:我在用Task的时候,它处理完毕后,还能检测到它下图的这些状态。于是在想,Task处理完毕后是否需要做清理工作呢?正好今天看到一个博主聊到这个话题。传送门:异步编程系列目录…… 摘要:本博文解释在.NET 4.X中的Task使用完后为什么不应该调用Dispose()。并且说明.NET4.5对.NET4.0的Task对象进行的部分改进:减轻Task对WaitHandle对象的依赖,并且增强在...
作者:勇哥,很想停止 | 分类:C# TPL | 浏览:2734 | 评论:0
2021-07-29 11:54:34
勇哥注:大家好,我是微软的搬运工,今天搬一个忽略的知识点。索引器允许类或结构的实例就像数组一样进行索引。 无需显式指定类型或实例成员,即可设置或检索索引值。 索引器类似于属性,不同之处在于它们的访问器需要使用参数。以下示例定义了一个泛型类,其中包含用于赋值和检索值的简单 get 和 set 访问器方法。 Program 类创建了此类的一个实例,用于存储字符串。using System;
cl...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:1759 | 评论:0
2021-07-28 16:12:31
勇哥注:这位博主总结了来自于视频的一些学习资料,感谢他的分享,内容是相当经验化的总结。文章很长,有空我会做些排版,先凑合着看吧。#线程详解1. Thread基础之从 WinDbg 角度理解你必须知道的时间和空间上的开销一:空间上的开销1、thread本身来说就是操作系统的概念。。。<1> thread的内核数据结构,其中有osid,context => CPU寄存器的里面的一些变...
作者:勇哥,很想停止 | 分类:C# TPL | 浏览:2729 | 评论:0
2021-07-27 10:19:59
勇哥要做到的目标是:task工厂按添加的顺序依次执行。下面程序我规定的顺序为: A...A...B...B...C...C...从源码一来看,每次执行次序都不同。如果我们把lock那段代码启用,效果如下:可以看到仅保证了两次输出是连续,而不能保证执行顺序跟task工厂add的顺序一样。代码还有一个问题是:myScheduler调度器并没有发挥作用,twork根本执行不到。以上问题的解决版本见后面...
作者:勇哥,很想停止 | 分类:C# TPL | 浏览:4399 | 评论:0
2021-07-27 08:09:34
这个问题网上的经验大概如下:1。 清空方案,重新编译2。 删除项目bin目录下的东西,重新编译3。 解决相互引用的问题。4。 确保不是run的release5。把项目编译改为x866。 好像没发现其它的了。。。这些解决不了勇哥手上的项目的问题。勇哥的工程有几十个项目。我长话短说,解决方法是:引导项目除了直接用到的项目需要引用外,还需要引用那些无法下断点的项目。这样做的目的是让每次run引导项目时,...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:12490 | 评论:0
2021-07-24 21:28:09
关于项目引用,有几种:(一)这种是引用系统的程序集(二)下面这种是引用你自己的项目“解决方案”(三)最后一种是浏览本机上的项目的dll。对于工程中有几十个项目的软件来说,虽然使用(二)是很方便。但是会编译速度奇慢,而且随着项目越多越慢。貌似他run之前都会把所有项目都试图更新一下。勇哥宿舍的电脑,实在是不堪重负,逼得不得已,使用(三),速度果然就快多了。当然它的缺点是,你得手工更新改变过的项目。-...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:2846 | 评论:0
2021-07-23 14:15:05
如下所示:vs2015的任务列表怎么只显示几个项目的todo,而这个工程有几十个项目,原来是都可以显示的。这是为啥子呢?全部重新编译也不行。如果勇哥知道了原因,再来回贴子。附录:任务列表介绍:前几天才刚开始看到这个很多时候,一些任务,怕忘记了,或者已经做好的东西,由于各种原因,暂时不用等等这种情况这时候,就可以在vs上,随时加到任务列表中,方面下次直接来修改或实现等等 在vs的视图》任务列表,快捷...
作者:勇哥,很想停止 | 分类:杂七杂八的文章 | 浏览:1911 | 评论:0
2021-07-23 09:21:37
牛牛们的博客,相当的经验之谈,营养丰富,值得把读。https://www.cnblogs.com/huangxincheng https://blog.csdn.net/weixin_45157396/article/details/109398357?spm=1001.2014.3001.5501 https://github.com/ctripxchuang/dotnetfly...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:1588 | 评论:0
2021-07-21 23:27:41
下面的代码示例演示如何实现 INotifyPropertyChanged 接口。 在 Windows 窗体数据绑定中使用的业务对象上实现此接口。 实现时,接口会与绑定控件通信,属性会对业务对象进行更改。示例:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Dra...
作者:勇哥,很想停止 | 分类:C#事件与委托 | 浏览:1685 | 评论:0
2021-07-19 23:24:28
一般如果逻辑比较简单,只是存在有的情况多一个查询条件,有的情况不需要添加该查询条件简单方式这样操作就可以了public IQueryable<FileImport> DynamicChainedSyntax
(IQueryable<FileImport> files, bool pastOnly)
var query = files.Where(file =...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:1985 | 评论:0
2021-07-19 22:54:47
勇哥来测试一下全部的查询运算符。每天测试一部分,代码会持续更新中……using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Consol...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:1440 | 评论:0
2021-07-16 22:18:06
C#的事件、委托测试(一) http://www.skcircle.com/?id=1853C#的事件、委托测试(二) http://www.skcircle.com/?id=1854C#的事件、委托测试(三) http://www.skcircle.com/?id=1820勇哥注:事件委托的小练习,大家不要轻视这些基本功哦。第一个程序:目的:我们有个高档的热水器,我们给它通上电,当水温超过...
作者:勇哥,很想停止 | 分类:C#事件与委托 | 浏览:1803 | 评论:0
2021-07-16 21:08:30
C#的事件、委托测试(一) http://www.skcircle.com/?id=1853C#的事件、委托测试(二) http://www.skcircle.com/?id=1854C#的事件、委托测试(三) http://www.skcircle.com/?id=1820勇哥注:事件委托的小练习,大家不要轻视这些基本功哦。第一个程序这是个传统的写法,GreetPeople必须使用swit...
作者:勇哥,很想停止 | 分类:C#事件与委托 | 浏览:2107 | 评论:0
2021-07-16 17:19:40
见贴子:(一)https://blog.csdn.net/kuhaizhengzha/article/details/89225758 (二)https://blog.csdn.net/kuhaizhengzha/article/details/89296198?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogC...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:1949 | 评论:0
2021-07-16 16:11:30
勇哥注:这是一篇相当精彩的问题贴子,来源于msdn论坛的讨论,它提供了相当多的办法来解决同步方法中调用异步方法的办法。非常值得一读!我有一个public async void Foo()方法,我想从同步方法中调用它。 到目前为止,我从MSDN文档中看到的所有内容都是通过异步方法调用异步方法,但是我的整个程序不是使用异步方法构建的。这有可能吗?这是从异步方法调用这些方法的一个示例: http : /...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:1752 | 评论:0
2021-07-16 15:26:43
C#4.0的并行库TPL,即Task(一)http://www.skcircle.com/?id=1793C#4.0的并行库TPL,即Task(二) http://www.skcircle.com/?id=1798C#4.0的并行库TPL,即Task(三) http://www.skcircle.com/?id=1808C#4.0的并行库TPL,即Task(四) http://www.skcir...
作者:勇哥,很想停止 | 分类:C# TPL | 浏览:2157 | 评论:0
2021-07-16 09:51:52
勇哥注: 通过这个问答贴子,可以了解一些C#历史版本对于 Task捕获异常的一些不同处。提问者:----------------------------------------使用System.Threading.Tasks.Task<TResult>,我必须管理可能引发的异常。我正在寻找做到这一点的最佳方法。到目前为止,我已经创建了一个基类,该基类在调用时管理所有未捕获的异常。.Co...
作者:勇哥,很想停止 | 分类:C# TPL | 浏览:3050 | 评论:0
2021-07-16 09:40:09
勇哥注:这个提问者对异步的误解决,让勇哥想到同事持相似观点,认为异步只不过是用线程池在工作罢了。因此把知乎这篇问答摘下来,加深对异步的了解。提问者:---------------------------------------用async修饰的方法本身就是期望它为一个异步方法,可是为什么该方法内必须要有await?举个例子,有一个方法 double Factorial(int i),作用是计算i的...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:3103 | 评论:0
2021-07-15 19:55:14
勇哥注:微软的这个在线C#编程指南可读性很高,颠覆了之前我对机械的在线手册式的那种文档的印象。除了异步的话题,其它的话题都很丰富,非常值得推荐阅读哦!基于任务的异步编程模型 (TAP) 提供了异步代码的抽象化。 你只需像往常一样将代码编写为一连串语句即可。 就如每条语句在下一句开始之前完成一样,你可以流畅地阅读代码。 编译器将执行许多转换,因为其中一些语句可能会开始运行并返回表示正在进行的工作的...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:2064 | 评论:0
2021-07-15 19:53:41
作者:Mads Torgersen | 2011 年 10 月即将推出的 Visual Basic 和 C# 版本中的异步方法是从异步编程中获取回调的好方法。在本文中,我将仔细研究新的 await 关键字的实际作用,从概念层面开始,逐步深入研究。顺序组合Visual Basic 和 C# 是命令式编程语言,并以此为荣!这意味着它们擅长让您将您的编程逻辑表达为一系列离散步骤,一个接一个地进行。大多数...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:1529 | 评论:0
2021-07-15 19:49:41
异步编程长期以来一直是只有最熟练和最受虐的开发人员的领域——那些有时间、倾向和心理能力来推理非线性控制流的一个又一个回调的回调。借助 Microsoft .NET Framework 4.5,C# 和 Visual Basic 为我们其他人提供了异步性,因此普通人几乎可以像编写同步方法一样轻松地编写异步方法。没有更多的回调。不再将代码从一个同步上下文显式编组到另一个同步上下文。不再担心结果或异常的...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:1660 | 评论:0
2021-07-15 19:44:31
勇哥注:此文作者调研了许多国外大神的文章写下的记录,内含外链,特转载涨知识。在C#中,强烈不建议非async方法调用async方法,建议一路async/await下去。如果一定要非async方法调用async方法,建议按照以下的优先级使用:1. Task.Run(...).Result, 这种方式是新起了一个Task放在线程池中,参考: https://devblogs.microsoft.com...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:2379 | 评论:0
2021-07-15 19:21:59
勇哥注:这是国外一位大神的权威贴子,转载一下继续涨下知识。近日来,涌现了许多关于 Microsoft .NET Framework 4.5 中新增了对 async 和 await 支持的信息。 本文旨在作为学习异步编程的“第二步”;我假设您已阅读过有关这一方面的至少一篇介绍性文章。 本文不提供任何新内容,Stack Overflow、MSDN 论坛和 async/await FAQ 这类在线资源提...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:2000 | 评论:0
2021-07-15 19:13:57
一个老外的博客转载的,继续涨下知识。大多数人已经听说过 Visual Studio 11 中新的“async”和“await”功能。这是另一篇介绍性文章。首先,重点是:异步将从根本上改变大多数代码的编写方式。是的,我相信 async/await 会比 LINQ 产生更大的影响。理解异步将在短短几年内成为基本必需品。关键字介绍让我们直接开始吧。我将使用一些稍后将阐述的概念——请继续阅读第一部分。异步...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:5844 | 评论:0
2021-07-15 17:23:03
勇哥注:文章很好,可惜部分链接已经失效了。有时,我会收到来自开发人员的问题,这些问题强调需要更多关于 C# 和 Visual Basic 中新的“async”和“await”关键字的信息。我一直在对这些问题进行分类,我想我会借此机会分享我对这些问题的答案。概念概述我在哪里可以很好地了解 async/await 关键字?通常,您可以在https://msdn.com/async的 Visual St...
作者:勇哥,很想停止 | 分类:C# 异步编程 | 浏览:2858 | 评论:0
2021-07-15 16:18:39
这是一个在论坛和 Stack Overflow 上反复提出的问题。我认为这是异步新手在学习了基础知识后最常问的问题。用户界面示例勇哥编写了下面的例子。单击按钮将启动 REST 调用并在文本框中显示结果(此示例适用于 Windows 窗体,但相同的原则适用于任何UI 应用程序)。using System;
using System.Collections.Generic;
using Syste...
作者:勇哥,很想停止 | 分类:C#/.net框架 | 浏览:3871 | 评论:0
-
2023-08-21
阅读(37916)
-
2023-08-29
阅读(13930)
-
2023-06-09
阅读(7656)
-
2023-08-02
阅读(7159)
-
2023-07-27
阅读(7047)
-
2023-07-27
阅读(7047)
-
2023-08-29
阅读(13930)
-
2023-08-02
阅读(7159)
-
2023-06-09
阅读(7656)
-
2023-08-21
阅读(37916)
-
2023-11-01
阅读(154)
-
2023-11-15
阅读(94)
-
2023-11-09
阅读(130)
-
2023-12-01
阅读(9)
-
2023-11-01
阅读(136)