单线程泵问题(com操作时间超过60s报错)
CLR 无法从 COM 上下文 0x197bf0 转换为 COM 上下文 0x197a80,这种状态已持续...[2018/11/22]
.NET中Quartz任务调度器的简单应用实例.NET中Quartz任务调度器的简单应用实例
1.首先从NuGet中安装Quartz,安装最新版本就OK
2.新建一个Job类实现Quart中的IJob接口用于执行业务逻辑,代码如下:
cla CheckUpdateJob : IJob
{
public async Task...[2018/11/22]
大华门禁SDK二次开发(一)
项目中需要能够查询门禁信号和控制门禁设备,因此需要基于大华门禁SDK进行二次开发,开发语言C#。门禁开发中遇到了一些问题,经过与大华技术的邮件沟通也一一解决。做这个开发的时候,发现网上的资料比较少,想着把自己遇到的问题整理下来,让有需要的人尽量少走一些弯路。
1. 门禁状态查询/控制API
门禁...[2018/11/22]
《ServerSuperIO Designer IDE使用教程》-4.增加台达PLC驱动及使用教程,从0到1的改变。发布:v4.2.3版本《ServerSuperIO Designer IDE使用教程》-4.增加台达PLC驱动及使用教程,从0到1的改变。发布:v4.2.3版本
v4.2.3 更新内容:1.优化数据存储部分,提高效率。2.修复数据库服务停止造成程序异常退出的现象。3.修复本机没有串口造成无法增加设备驱动的情况。4.增加编辑设备和监测点配置信息功能。5.增加台达PLC驱动。
v4.2.2 下载地址:官方下载
目...[2018/11/22]
谈谈面向对象的理解
一直以来对于面向对象的理解都仅仅是停留在字面的阶段:封装、继承和多态。
封装就是把对象包装成一个类,
继承就是有一个抽象出来的基类,
那么多态呢?对于多态的理解仅仅停留在override重写关键字上面,不知道什么时候使用。
直到前几天去参加一个面试,面试的大佬说:在面向对象的语言中,我们要...[2018/11/22]
C#-事件(十八)
概述
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动
使用事件,可以很方便地确定程序执行顺序
事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联
包含事件的类用于发布事称为 发布器(publisher) 类
其他接受该事件的类...[2018/11/22]
有道非官方接口-查询英语单词详细信息
有道翻译有官方接口,也有非官方接口。
有道官方接口
官方接口:https: openapi.youdao.com/openapi
可查询英语单词注释、单词发音、网络释义(不一定存在),可获取在线发音地址。
具体使用,可参考 C# 有道API翻译 查询单词详细信息
有道非官方接口
...[2018/11/21]
C#的一些获取时间的例子C#的一些获取时间的例子
从周一到周日的顺序,获取排序数值:
int i = DateTime.Now.DayOfWeek - DayOfWeek.Monday; if (i == -1) i = 6;
获取某日起,星期一日期:
public static DateT...[2018/11/21]
C#-泛型类型
概述
泛型类和泛型方法兼具可重用性、类型安全性和效率,这是非泛型类和非泛型方法无法实现的
泛型通常与集合以及作用于集合的方法一起使用
泛型所属命名空间:System.Collections.Generic
可以创建自定义泛型接口、泛型类、泛型方法、泛型事件和泛型...[2018/11/20]
C# 读写网上邻居中的共享文件C# 读写网上邻居中的共享文件
读写网上邻居共享的文件夹,和操作本地文件夹类似,只要有权限读取写入即可。
分为以下2步:
1.打通共享文件夹权限
2.操作文件
打通共享文件夹权限
1 <summary>
2 连接共享文件
3 ...[2018/11/20]
npoi 合并单元值处理 - Fish-Blog
获取sheet中存在合并单元格总数,循环绑定值
得到一个sheet中有多少个合并单元格
int sheetMergeCount = sheet.NumMergedRegions;
for (var i = ...[2018/11/20]
span<T>之高性能字符串操作实测
.net中的字符串操作性能问题由来已久,幸运的是微软推出了span<T>高性能指针操作封装工具类。这个类到底有多高的性能呢?网上传言反正很高,但是实际上在网上很难找到合适的测试实例,这让本人实在无力吐槽。经不住高性能这三个字的诱惑,本人还是了解了一番后做了几个简单样例来...[2018/11/20]
C#异常--System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的错误
异常信息:
System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”
解决方案:
在app.config新增如下配置节:
<startup useLeg...[2018/11/20]
C#调用Windows CMD命令并返回输出结果
private static string InvokeExcute(string Command)
{
Command = Command.Trim().TrimEnd(''&'') + "&exit";
using (Proce p = ne...[2018/11/20]
C# JSON格式数据高级用法
JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。JSON采用完全独立于语言的文本格式,可以很容易在各种网络、平台和程序之间传输。JSON的语法很简单,易于人阅读和编写,同时也...[2018/11/20]
C# 取字符串中间文本 取字符串左边 取字符串右边C# 取字符串中间文本 取字符串左边 取字符串右边
1 public static string Between(string str, string leftstr, string rightstr) 取文本中间
2 {
3 if (str != null && str.Lengt...[2018/11/20]
霍尼韦尔1450g二维码扫码枪中文识别。
USB接口模拟COM串口驱动程序
HSM USB Serial Driver
链接: https: pan.baidu.com 1aOV-Fz0OYdQGc5dMmkHzgg 提取码: fwgt
霍尼韦尔EZConfig
用来设置扫码枪的程序,需要把扫码枪设置...[2018/11/20]
简单的冒泡排序
int [] array = new int ; 定义一个int集合 int temp = 0 ; 定义一个结果变量 for (int i = 0 ; i < array.Length – 1 ; i++) { for (int j...[2018/11/19]
int.TryParse非预期执行引发的思考int.TryParse非预期执行引发的思考
问题出现
这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了。
代码如下:
int id = 1000;
Request.QueryString["id"] = null
int.TryParse( Request.QueryString["...[2018/11/19]
Git使用之设置编辑器
使用VIM编辑commit注释信息 在命令输入模式下面,输入字母”i”,则VIM进入到插入模式,接着输入自己的注释内容; 完成注释后需要退出: 1)按键Esc,如果无效,连续按两次 2)当底部提示行出现空白时,输入冒号“:” 3)再输入字母“q”,回车 (输入wq,为保存退出) 但是实际上使用vim...[2018/11/17]
SmartSql 更新日志 - Ahoo-Wang
SmartSql 更新历史记录
3.7.0
support cro SqlMap reference for #30
modifying Statement.Ref for delay dependence
optimize Analyse Statement.SqlCommandType
op...[2018/11/17]
C# GDI绘制仪表盘(纯代码实现)
纯代码实现GDI绘制仪表盘,效果在代码下面。 public partial cla HalfDashboardUc : UserControl
{
<summary>
仪表盘背景图片
< ummary>...[2018/11/16]
QueryableHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expre ions;
using System.Reflection;
using System.Text;
namesp...[2018/11/16]
C#Log4net记录日志
1、下载log4net地址:http: logging.apache.org/log4net/download_log4net.cgi
下载log4net-2.0.8-bin-oldkey.zip到本地,根据自己的需求选择一个合适的log4net.dll版本即可。
2、log4net.dll放...[2018/11/16]
使用微软自带解压类压缩文件夹
前言 因为即时通信项目中,需要同步OA中的用户头像,用户头像是通过文件夹保存的,文件夹内结构比较复杂。在即时通信中需要先将OA服务器上保存的用户头像文件夹下载下来,因为直接下载文件夹方法很难,所以需要先将文件夹压缩一下,然后在直接下载压缩文件。 他人雅慧 在网上找了不少了例子,几乎都...[2018/11/16]
C# WebRequest.Create 锚点“#”字符问题
背景
在与后台API接口对接时,如将网页Url作为参数请求数据时,如果是锚点参数,则会丢失。
锚点参数
请求通过WebRequest.Create创建一个WebRequest:
1 var uri = "https: id.test.xxx.com/api/v1/auth o/ur...[2018/11/16]
asp.net Core 使用过滤器判断请求客户端是否为移动端,并实现PC端和移动端请求映射和自动跳转
很多时候我们做网站时单纯的用bootstrap等前端框架实现的前端自适应带给用户的体验并不太好,所以为了提高用户体验会专门针对PC端网页重新设计一套移动端网页,但是怎么才能做到在移动端访问PC页面的时候返回对应的移动端页面,而不是PC端页面呢?下面我们就简单的进行介绍。主要技术是asp.net c...[2018/11/16]
详解C#泛型(二)详解C#泛型(二)
一、自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型:
void MyFunc<T>() 声明具有一个类型参数的泛型方法
{
Type genericType = typeof(T); 在泛型方法体内部获取类型参数的类型信息
...[2018/11/16]
Word报告自动生成(例如 导出数据库结构)
将很早之前写的一个小组件重新整理优化一下,做成一个通用的功能。适用于导出数据库的结构(表、字段等)到Word或将体检数据自动生成Word版的体检报告等。代码:Github
一、主要需要完成功能:
1. 灵活的配置规则及word样式设置(...[2018/11/16]
检查.net dll构建的目标平台是any cpu、x86、x64
有时候,需要检查构建的dll是否针对正确的平台
可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息。运行CorFlags.exe将产生以下输出:
>> CorFlags "C:\example.dll"
Microsoft ...[2018/11/14]
PredicateBuilder
using System;
using System.Linq;
using System.Linq.Expre ions;
namespace Oyang.Tool
{
public static cla PredicateBuilder
{
public ...[2018/11/14]
PaginationPagination
using System.Collections.Generic;
namespace Oyang.Tool
{
public interface IPagination
{
int PageIndex { get; set; }
int Pag...[2018/11/14]
NLog简单使用
一、安装
二、安装后会在根目录出现NLog.config配置文件,简单修改配置文件为写入文件记录日志:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http: www.nlog-project.or...[2018/11/14]
C# 读取PDF多级书签 - E-iceblue
在PDF中,书签作为一种导航的有效工具,能帮助我们快速地定位到文档中的指定段落。同时,书签也能让人对文档结构一目了然,在某种程度上也可作为目录使用。对于C#操作PDF中的书签,在上一篇文章中介绍了具体的如何添加书签、修改已有书签以及删除书签的操作,在本篇文章中,将介绍C#如何读取PDF中的多级书签...[2018/11/14]
[翻译] C# 8.0 新特性
原文: Building C# 8.0
[译注:原文主标题如此,但内容大部分为新特性介绍,所以意译标题为 "C# 8.0 新特性"]
C# 的下一个主要版本是 8.0。我们已经为它工作了很长一段时间,即使我们构建并发布了次要版本 C# 7.1, 7.2 和 7.3,我仍然对 ...[2018/11/14]
递归,循环,尾递归
递归,循环,尾递归
概念
方法递归,简而言之就是方法本身自己调用自己;
咬文嚼字的分析就是两个过程:“递“过程和”归“过程,所有的递归问题都能用地推公式标识.例如斐波拉契数列就能用递推公式表示:
$$
f(n) = f(n-1) +f(n-2)其中fn(0)=1,f(1)=1
$$
转换成代码就...[2018/11/13]
利用IDisposable接口构建包含非托管资源对象
托管资源与非托管资源
在.net中,对象使用的资源分为两种:托管资源与非托管资源。托管资源由CLR进行管理,不需要开发人员去人工进行控制,.NET中托管资源主要指“对象在堆中的内存”;非托管资源指对象使用到的一些托管内存之外的内资源(例如操作系统的资源),CLR不会管理这些资源,需要开发人员去控制...[2018/11/13]
【我们一起写框架】C#的AOP框架
前言 AOP,大家都是听过的,它是一种面向切面的设计模式。 不过AOP虽然是被称为设计模式,但我们应该很少能看到AOP设计的框架。为什么呢? 因为,AOP单独设计的框架几乎是无法使用的。普遍的情况是,AOP要是和其他设计模式结合在一起使用。 所以,AOP虽然是设计模式,但我认为它更接近一种设计元素...[2018/11/12]
Json.net日期格式化设置
Json.net默认的时间格式化后带T,不符合一般的业务要求,重新设置JSON.NET的默认日期格式化方式,代码如下:
<summary>
Json.net默认转换设置
< ummary>
pri...[2018/11/12]
C#判断文件编码——常用字法
使用中文写文章,当篇幅超过一定程度,必然会使用到诸如:“的”、“你”、“我”这样的常用字。本类思想便是提取中文最常用的一百个字,使用中文世界常用编码(主要有GBK、GB2312、GB18030、UTF-8、UTF-32、Unicode、BigEndianUnicode及UTF-7等)...[2018/11/12]
C#语言————第二章 C#语言快速热身
第二章 C#语言快速热身
***********一.选择结构****************
1:if选择结构与java的if选择结构语法完全相同
2:switch选择结构
①:常量表达式的值可以是,string char int
②:c...[2018/11/12]
C#——各种参数,扩展方法
余近日复习C#之基础知识,故作一随笔,也是对此前几篇博客中所记录的传值参数相关内容之汇总,还望诸位加以批评指正。
该博客包括以下内容:
传值参数
引用参数
输出参数
数组参数
具名参数
可选参数
扩展方法(this参数)
传值参数
C#语言规范中道:“声明时不带...[2018/11/12]
IQueryable和IEnumerable以及AsEnumerable()和ToList()的区别
注意:本文背景为 Linq to sql 。文中ie指代IEnumerable,iq指代IQueryable。
IQueryable 和 IEnumerable 的区别
IQueryable
延时执行;扩展方法接受的是Expre ion(必须要能转成sql,否则报错)
IEnumerable...[2018/11/12]
NLog组件
接触.net项目的同志们都清楚,最初在项目中记录日志常用的是log4net日志组件,随着.net框架的不对优化升级,最近新流行的日志框架nlog,下面我就对nlog组件说说自己的认知:
下载
通过Nuget安装NLog
配置
在项目根目录下新建一个NLog....[2018/11/11]
IQueryable和IEnumerable以及AsEnumerable()和ToList()的区别
注意:本文背景为 Linq to sql 。文中ie指代IEnumerable,iq指代IQueryable。
IQueryable 和 IEnumerable 的区别
IQueryable延时执行;扩展方法接受的是Expre ion(必须要能转成sql,否则报错)
...[2018/11/11]
C#语言————第一章 第一个C#程序
第一章 第一个C#程序
******************C#程序***************
①:建立项目:文件-->新建-->项目-->c#-->控制台程序(项目名/文件存储位置)--&g...[2018/11/11]
验证对Random的两个猜想
猜想1:Random.Next()产生的随机数不会有重复。
猜想2:大量级执行Random.Next(int i)分布在各个数值上的概率是均匀的。
验证猜想1 /*如果Random.Next()产生的随机数不存在重复,那么_CunFangSuiJiShuDeList.Count应该等于执行总...[2018/11/9]
C# 多维数组 交错数组的区别,即 [ , ] 与 [ ][ ]的区别
多维数组的声明
在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ]
int [,] test1 = new int [3,3];
或声明时即赋值,由系统推断长度
int [,] test1 = {
{...[2018/11/9]
C#CRC16 Modbus 效验算法
CRC校验(循环冗余校验)小知识
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设...[2018/11/9]
C#/VB.NET与西门子PLC进行ModbusTcp通信
进入自动化行业半年多了,每天都与机器打交道。
前段时间接手一个任务,需要将我们机台与下站机台进行通讯,我们机台是PC,下站机台为西门子S7-1200。
想想完成这个任务,领导就会对我这个新人刮目相看,然后升职加薪!嘿嘿哈哈哈嗝
首先,知己知彼方能百战不殆。
于是找到西门...[2018/11/9]