首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

C#中backgroundworker使用

通过一个demo来说一下backgroundworker使用 上图使我们最终需要实现效果,下来我们开始编码 声明backgroundworker并绑定事件 在注释中已经写出属性含义和绑定事件含义...} e.ProgressPercentage是调用bw.ReportProgress()方法时第一个参数,e.UserState为第二个参数 RunWorkerCompleted 任务完成事件调用方法...//e.Result 获取异步操作结果值,即DoWork事件中,Result设置值。...RunWorkerAsync(50); 开始执行任务,参数50可以在backgroundWorker1_DoWork方法中通过e.Argument取得,在backgroundWorker1_DoWork中有使用...backgroundWorker1.CancelAsync();取消任务执行,实际上是修改了CancellationPending值,false变为true 附上demo代码 链接:https:/

8710

C# semaphore使用-2

其实.NET中信号量(Semaphore)是操作系统维持一个整数。当整数位0时。其他线程无法进入。当整数大于0时,线程可以进入。每当一个线程进入,整数-1,线程退出后整数+1。...整数不能超过信号量最大请求数。信号量在初始化时候可以指定这个整数初始值。...System.Threading.Semaphore类构造函数两个参数第一个就是信号量内部整数初始值,也就是初始请求数,第二个参数就是最大请求数。...Semaphore:可理解为允许线程执行信号池子,池子中放入多少个信号就允许多少线程同时执行。...2、当semaphore拥有的信号量为1时,Semaphore相当于Mutex 3、当semaphore拥有的信号量>1时,信号量数量即可供多个线程同时获取个数,此时可认为获取到信号量线程将同时执行

66420

PHP crypt()函数用法讲解

PHP crypt() 函数 定义和用法 crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密字符串。...使用标准 DES 加密,长度为 2 [CRYPT_STD_DES] – 标准基于 DES 加密有 2 个字符 salt,来自字母表 “./0-9A-Za-z”。...[CRYPT_BLOWFISH] – Blowfish 加密有一个以 2a、2x 或 2y 开始 salt,一个两位数 cost 参数 “”,以及来自字母表 “./0-9A-Za-z” 中 22...使用字母表以外字符将引发函数返回一个长度为 0 字符串。”” 参数是以 2 为底基于 Blowfish 散列算法迭代次数对数,必须在 04-31 范围内。在该范围以外值将引发函数失败。...(如上所述,基于标准 DES 算法密码散列使用 2 字符盐值,但是基于 MD5 算法散列使用 12 个字符盐值。)

1.8K40

C#中Socket简单使用

大家好,又见面了,我是你们朋友全栈君。 以前学过Socket,后来没怎么用过,就基本忘了,所以闲来时重新回顾学习一番....一.Socket概念 Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来一层,是位于应用层和传输控制层之间一组接口....双向通信连接实现数据交换,连接一端成为一个Socket....二.网络通信三要素 IP地址(网络上主机设备唯一标识) 端口号(定位程序) 有效端口:0~65535,其中0~1024由系统使用,开发中一般使用1024以上端口....传输协议(用什么样方式进行交互) 常见协议:TCP(面向连接,提供可靠服务),UDP(无连接,传输速度快) 三.Socket通信流程 四.C#中Socket简单使用步骤 第一步:服务端监听某个端口

91220

学习|C#EventHandler委托使用

本文长度为3661字,预计阅读10分钟 前言 上一篇发了一个视频,关于车辆通过系统场景模拟,在这个项目中,主要想介绍一下使用中距离读卡器对车辆上RFID卡进行身份识别,其中读卡这块核心就是用到了...EventHandler委托和线程处理,看了一下原来C#文章中,以前没有介绍过EventHandler委托,所以这篇简单先介绍一下这个,后面的文章会结合EventHandler委托和线程做一个模拟当时环境小...EventHandler使用 # 说明 1 声明一个EventArgs子类,传递参数 2 声明委托对象,执行方法,将方法绑定委托对象 3 开启EventHandler委托 EventHandler...这个类主要是写了一个实现方式,其中重写了start和stop方法,及我们定义DataReceived处理方式 ? ? ?...点击按钮初始化时,使用+=刚才定义方法进行委托。

1.9K10

CS系列-使用C#免杀

文章源自【字节脉搏社区】-字节脉搏实验室 作者-purplet 本篇主要学习这种方法,现在测试已经不能够过360杀毒了,更不要提火绒了 前提监听,选择如图所示payload ? ? ?...WaitForSingleObject( IntPtr hHandle, UInt32 dwMilliseconds ); } } 将刚刚生成两行替换到上面模板注释部分...介绍一下CSC使用 out:是指定生成后exe文件名称,/unsafe是使用非安全模式来编译代码,非安全模式下编译代码允许其操作内存地址以及这些地址上直接,会引起不安全代码执行,有安全风险,所以是定为不安全模式.../F:如果指定任务已存在,则强制创建任务并禁止警告值。 /RU:指定运行任务用户上下文。 /TN:指定唯一标识计划任务名称。 /TR:指定要在计划时间运行任务路径和文件名。.../sT:指定运行任务开始时间,格式为H出:mm(24小时制)。

1.8K20

C#使用NPOI进行word读写

以下文章来源于CSharp编程大全 ,作者zls365 目录 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 2、设置页面的大小 3、段落处理 4、表格处理...5、页眉页脚处理 三、综合示例 四、参考 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 该类实例对应一个word文档 XWPFDocument MyDoc...,段落由XWPFDocument实例使用CreateParagraph()方法生成。...该属性获取或设置一个string类型变量。该变量含义是某个颜色RGB值(在NPOI里所有的颜色都是以这种形式表示)。...cell.Tables;//获取嵌套单元格可使用 row.Rows //获取表格所有行; row.GetTableICells() ;//获取表格行所有单元格; 获取到单元格之后就可以获取单元格里文本段落

2.7K10

C#使用NPOI进行word读写

目录 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 2、设置页面的大小 3、段落处理 4、表格处理 5、页眉页脚处理 三、综合示例 四、参考 一、简介 1、操作...二、简单使用 1、XWPFDocument类实例化 该类实例对应一个word文档 XWPFDocument MyDoc = new XWPFDocument(); 2、设置页面的大小 如果不进行页面大小设置...,段落由XWPFDocument实例使用CreateParagraph()方法生成。...该属性获取或设置一个string类型变量。该变量含义是某个颜色RGB值(在NPOI里所有的颜色都是以这种形式表示)。...cell.Tables;//获取嵌套单元格可使用 row.Rows //获取表格所有行; row.GetTableICells() ;//获取表格行所有单元格; 获取到单元格之后就可以获取单元格里文本段落

7.1K21

学习|C#线程中AutoResetEvent使用

学更好别人, 做更好自己。...——《微卡智享》 本文长度为3106字,预计阅读8分钟 前言 前一篇《学习|C#EventHandler委托使用》介绍了EventHandler简单使用,本篇主要介绍线程中AutoResetEvent...5 WaitOne(TimeSpan, Boolean) :阻止当前线程,直到当前实例收到信号,使用 TimeSpan 度量时间间隔并指定是否在等待之前退出同步域。...上面就是AutoResetEvent主要方法,从上面的主要方法中我们可以看到,实现读卡器每100耗秒进行检测,原来通过线程是sleep进行处理,现在可以使用WaitOne方式,并且通过这个方法,我们可以在外部实现读卡器重连调用...本项目场景 本项目(开头视频)中因为读卡器使用网络通讯,所以我们要考虑出现异常情况下实现读卡器自动重连。 如果存在网络中断时候我们要考虑到自动重连。

1.1K20

c#之quartz任务调度使用

这里讲下,quartz这种任务调度程序简单使用 这是使用quartz3.x 版本 2.x 版本与此稍有区别,可以在网上查看2.x版本教程 使用语言为c# quartz使用分为几个步骤 创建一个ISchedulerFactory...,然后并且获取 Scheduler 启动 Scheduler 创建 job 任务 创建 trigger 触发器 使用触发器规划执行任务( Tell quartz to schedule the job...Run(); Console.ReadKey(); } /// /// 任务调度使用过程...另外,在实际项目使用中,可以进行把上面步骤拆开,封装进行使用 例如,可以把步骤1,步骤2封装到一起,即用来产生 scheduler 把 步骤3,步骤4,步骤5 封装到一起,用来给不同任务 scheduler...(相当于注册不同 job ,trigger) 另外,还有更多quartz用法 这里附上继续学习网址: quartz学习

1.4K20

C#反射解析及使用.

1、对C#反射机制理解 2、概念理解后,必须找到方法去完成,给出管理主要语法 3、最终给出实用例子,反射出来dll中方法 参考: C#反射,MSDN编程指南 反射是一个程序集发现及运行过程,通过反射可以得到...使用反射可以看到一个程序集内部接口、类、方法、字段、属性、特性等等信息。在System.Reflection命名空间内包含多个反射常用类,下面表格列出了常用几个类。...在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类关系:     System.Reflection命名空间     (1)   AppDomain:应用程序域,可以将其理解为一组程序集逻辑容器...(包括程序集名,版本信息,语言文化,公钥标记)来加载程序集,会加载此程序集引用其他程序集,一般情况下都应该优先使用 这个方法,他执行效率比LoadFrom要高很多,而且不会造成重复加载问题(原因在第...这就是在第1点中提到Load方法比LoadFrom方法执行效率高原因。另外,由于可能把程序集作为"数据文件"来加载,所以使用 LoadFrom从不同路径加载相同程序集时候会导致重复加载。

2K140

求助:C#使用ashxBaseHandler

最近打算用jeasyui(或者ExtJs)+ashx写b/s架构程序,写了几个ashx后,发现很多内容都需要重复写,就考虑用类似webform中aspx页BasePage,暂且叫做BaseHandler...不巧是从cnblogs一直找不到有人这么用过,通过Google英文搜索,终于找到2个例子,其中一个还是国人写。...老外写那个的确很专业,但是我觉得包装太复杂,基本思路用国人,可惜是国人写那个没有实际应用例子,尤其是没有加入权限控制部分。如果哪位朋友在实际项目中用过,麻烦你回复此篇文章,谢谢。...国人例子地址:[URL=http://code.google.com/p/jiangliang-project/source/browse/trunk/Jlcool/Common/BaseHandler.cs...]jiangliang-project[/URL] 老外项目地址:[URL=http://www.instanceofanobject.com/2012/03/advanced-generic-handler-ashx.html

96950

C# dotnet 使用 startIndex 提升 IndexOf 性能

在代码审查 WPF 仓库时候,小伙伴告诉我说使用 dotnet core 版本 WPF 开了 ReadyToRun 提升还不够大,他准备开始一大波业务无关优化,其中就包含了 xaml 中字符串相关优化...我在 davidwrighton 大大优化代码和 pentp 大大代码审查里面学到了使用 startIndex 提升 IndexOf 性能,本文就来和大家分享一下 假定只有一个字符匹配,例如从字符串里面找到...答案是显然,我就不多说了 而即使是这样优化,在 Pent Ploompuu 大佬看起来依然有优化空间,那就是 startIndex 参数,从业务上,在这里进来参数都是至少超过4个字符,这就是我为什么选用这个例子原因...假定在第 4 个字符之前存在 : 那么也是不合法 此时优化就是添加 startIndex 进行更快速寻找 当然,这必须需要了解业务才能这样做哦,不然就是挖坑了 例如输入是以下代码 a:bc:a...此时如果加上 startIndex 跳过了 4 个字符,那么刚好返回以为预期值,但事实上输入是不合法 ----

82910

怎样使用C# 获取WIFI连接状态?

怎样使用C# 获取WIFI连接状态?...行文导航 思路 问题得到解决 代码展示 断开与连接WIFI状态效果 在OrangePI Linux Arm32上测试效果 C# 获取WIFI连接状态 本文是在知道WIFI网络设备名称情况下,获取该设备连接状态...思路 起初是想着有没有那样一个直接访问设备信息,通过这个返回信息来得到我想要状态,查了一个资料在Linux上有个libiw,这个包能扫描到ssid相关信息,并不是我想要。...那么只能从另外一个方式入手,首先取得设备Gateway信息,然后Ping这个Gateway.IPAddress会得到Ping结果,从这个结果来判断是否连接是否成功。...2.问题得到解决 通过思路2,查找相关C#方面的资料,果然有相关API, 通过NetworkInterface这个类来得到所有的网络设备信息,然后再根据条件找出我关注网络设备,再通过Ping这个类

2.5K10
领券