2019-03-16 13:06:45
函数式编程中比较有代表性的特点如:高阶函数(函数做为函数的参数),组合函数,纯函数缓存等。F#就是一门函数式编程语言,但是C#是一门指令性的语言,并不包含全部函数式编程的全部特征。用C#实现函数式编程,利用到了C#各种新增特性,如lambda表达式、表达式树、LINQ、扩展方法等等。因此这个话题一方面是深入理解C#语言的一个途径,另一方面来说,一种新的编程模式本身就是非常有趣也有能吊起人味口的东西...
2019-03-16 12:30:37
语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中引入的功能,真正意义上的神来之笔。在此之前,SQL 数据库、XML 文档、各种 Web 服务等等你需要分别学习它们各自的查询语言,有了LINQ,你可以使用语言关键字和熟悉的运算符(类似于SQL查询语言)统一处理,并且利用扩展方法可以无限扩展LINQ的功能。LINQ之美让人惊叹,可以用...
2019-03-15 23:22:13
这是之前勇哥学习委托时的实验代码,有兴趣的朋友可以参考一下。放在网页上比放在硬盘上睡觉要好些,翻阅起来也方便,对于这类常学常忘的内容,以后还是多整理一些放到网站上来。演示程序的工程结构:Class1.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namesp...
2019-03-15 22:28:13
勇哥之前学习反射时的测试代码,希望对各位有点参考意义。程序工程结构如下:参考代码:lib1.class1.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lib1
{
public class Class1
{...
2019-03-15 20:46:50
命名空间:netMarketing.http.SecurityHelper功能:安全加密算法辅助类:封装加密算法(MD5、SHA、HMAC、DES、RSA)功能详细说明:安全加密算法辅助类:封装加密算法(MD5、SHA、HMAC、DES、RSA)常用函数列表:#region 通用加密算法
=============================
/// 哈希加密算法
private sta...
2019-03-15 15:24:23
本篇文章讨论可空值类型(Nullable<T>)的转换,却确地说是如何将一种类型的值对象转换成相应的可空值。这来源于今天我们的一个成员遇到的一个小问题,我经过一些整理写了这篇文章。虽然没有什么技术含量可言,也希望对某些读者带来帮助。 目录
一、四种典型的值类型转换方式
二、当类型转换遭遇Nullable<T> 三、将基于Nullable...
2019-03-15 15:13:18
C#最常见的重载是构造函数重载,各种方法包括ToString()也可以重载,运算符+-*/也可以重载,今天我们就来说说运算符重载。一、简介 C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。注意必须用public修饰且必须是类的静态的方法。但并非所有内置运算符都可以被重载,详见表1:运算符可重载性 +、-、!、~、++、--、true、false 可以重载...
2019-03-15 10:28:58
命名空间:netMarketing.automation.plc.OmronPlcNet功能:OmronPlc基于tcp的Fins读写类。可用NJ系列,CP1H系列的欧姆龙PLC功能详细说明:OmronPlcNet类是基于tcp的Fins通讯类。可用NJ系列,CP1H系列的欧姆龙PLC。常用函数列表:/// 构造函数
public OmronPlcNet(Byte clientNode, Byt...
2019-03-14 22:52:57
命名空间:thread.asynOperation功能:线程辅助类功能详细说明:封装线程相关的功能,以更方便使用线程。常用函数列表:/// 把一个Action丢入Thread的后台线程中去执行
public static void thread(Action act)--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章...
2019-03-14 22:49:28
命名空间:thread.asynOperation功能:类型有关的辅助类功能详细说明:类型有关的辅助类常用函数列表:/// 返回dataSetHelper对象的一个表,按索引号
public static DataTable ReturnDataTable(this dataSetHelper set, int index)
/// 为指定对象分配参数
public static T Ass...
2019-03-14 21:44:12
命名空间:netMarketing.BasicFramework.SoftZipped功能:负责压缩解压数据字节的类功能详细说明:负责压缩解压数据字节的类常用函数列表:// 压缩字节
// 1.创建压缩的数据流
// 2.设定compressStream为存放被压缩的文件流,并设定为压缩模式
// 3.将需要压缩的字节写到被压缩的文件流
//...
2019-03-14 21:34:20
命名空间:netMarketing.ConvertAbout.ConvertHelper功能:处理数据类型转换,数制转换、编码转换相关的类功能详细说明:这个类封装了处理数据类型转换,数制转换、编码转换相关的一些常用处理方法。常用函数列表:ConvertHelper.rs232Convert类的方法
==================
/// 字符串转16进制串,用空格分隔
public s...
2019-03-14 21:03:38
命名空间:netMarketing.dataProcess.regexHelper功能:正则表达式辅助类功能详细说明:这个类封装了一些常用的正则表达式。常用函数列表:/// 是否合法的手机号
public static bool IsPhone(string input)
/// 是否合法的身份证号码
public static bool IsIdCard(string input)
/...
2019-03-14 20:51:08
命名空间:netMarketing.draw2d.imageHelper功能:2d图像处理类功能详细说明:这个类封装了image的一些常用处理方法。常用函数列表:/// 图片重置大小
public static Bitmap KiResizeImage(Bitmap OldBitMap, int newW, int newH, int Mode)
/// 图形剪切
public static...
2019-03-14 20:32:03
命名空间:sharClass.listHelper功能:List数据类型辅助处理类功能详细说明:这个类封装了方便处理List列表的一些方法。注意这些函数参数中有this关键字,说明它们是扩展方法。扩展方法的调用方式跟List对象自身的方法调用是一样的。例如:var list1=new List<string>();
list1.Add("world");
lis...
2019-03-14 20:25:18
命名空间:netMarketing.reflect.reflectHelper功能:反射功能辅助类功能详细说明:这个类封装了反射调用其它dll的函数与窗体的一些方法。常用函数列表:/// 创建对象实例
public static T CreateInstance<T>(string fullName, string assemblyName)
/// 创建对象实例
public...
2019-03-14 17:48:43
命名空间:netMarketing.dataType.stringHelper功能:字符串处理辅助类功能详细说明:常用函数列表:/// 拆分十六进制串,按4位拆分,转为short
public static List<short> hexStrToShortList(this string data)
/// 按字符数量拆分字符串
public static List<s...
2019-03-14 09:51:32
命名空间:netMarketing.Algorithm.Statistics功能:统计学算法处理类功能详细说明:这个类是实现生产工艺中常见的统计学算法,包括下面这些:Mean 平均值Sigma 西格玛stDev 标准偏差CPKPTCOV 变异系数R 极差泛型数据比较这些算法在测量设备中广泛使用,生产中类似于Sigma这样的算法甚至做为生产指标跟工人的工资奖励挂勾。常用函数列表:/// 计算平均值,...
2019-03-14 08:08:09
命名空间:netMarketing.http.binHelper功能:易语言字节集处理类功能详细说明:这个类是实现易语言字节集的功能,原来这个类的作用是用来移植易语言的代码。由于在C#中,字节集相当于处理byte[]数组,因此本类也可以做为硬件通讯时处理byte[]对象、以及http操作的时候处理byte[]对象。这个类的成员函数命名和易语言对应的函数名完全一致。常用函数列表:// E语言功能:取...
2019-03-13 21:17:45
命名空间:UserUI功能:自定义组件,IO按钮功能详细说明:inputIOGroup,outputIOGroup 是输入IO组和输出IO组。这个控件应该和ioHelper类一起使用。ioHelper类提供的三个功能对应下面演示程序中的三个按钮(图1):弹出IO编辑器进入IO编辑模式退出IO编辑模式弹出IO编辑器功能,弹出图2所示的面板,你可以在上面创建输入输出IO的信息,要填写的信息包括:IO点...
2019-03-12 21:20:57
命名空间:UserUI功能:自定义组件,IO按钮功能详细说明:ioButton是用于显示输入输出IO的专用按钮,一般不单独使用ioButton,而应该使用组件 inputIOGroup和outputIOGroup,它分别封装了输入IO组,和输出IO组,配合ioHelper类可以自动生成若干个ioButton。ioButton组件的扩展属性如下:IoAlignNum 在多个按钮时用于显示顺序...
2019-03-12 20:58:47
命名空间:UserUI功能:自定义组件,多彩按钮功能详细说明:多彩按钮效果如下图所示,和普通按钮的区别主要是可以设置边框颜色,渐变色,以及鼠标划过后的颜色设定。这个控件的基类是Button,因此它其实就是一个增加多彩显示的普通按钮对象。引用netMarketing类库后,在“工具箱”,“所有windows窗体”中可以看到colorfulButton组件。 public partial clas...
2019-03-09 22:37:44
勇哥今天在C#引用类库时出现黄色三角加感叹号,如下图所示:C#项目 在引用中有个引用项上有个黄色三角加感叹号导致无法引用其命名空间,报错。这个原因是因为类库的目标框架不一致,修改成一样就可以了。选中类库右击属性;“目标框架”,修改成与引用项目目标框架一致即可--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上...
2019-03-09 22:03:59
写到如今的代码,基本上只会使用public, private,有时候感觉相对于自己编程的年龄,许多知识点都缺少努力钻究的基本精神,总是坚持能用就行。真是汗颜……特别在本文记录一下基本访问修饰符的知识。访问修饰符 说明 public 公有访问。不受任何限制。 private 私有访问。只限于本类成员访问,子类,实例都不能访问。 protected 保护访问。只限于本类和子类访问,实例...
2019-03-08 21:13:30
命名空间:netMarketing.http.httpClass功能:httpClass类提供http的post,get方法,以及相关cookie的处理功能详细说明:这个类封装了http访问的方法,可以用于读取网页,提交网页,下载网络图片与文件,还可以带cookie进行网站登陆、发贴、上传图片与文件等操作。这个类被设计成配合抓包工具,可以更方便的处理http的响应头。常用函数列表:public I...
2019-03-08 19:59:52
一、<1>StreamReader类共有10个构造函数StreamReader (Stream) // 为指定的流初始化 StreamReader 类的新实例。 FileStream fs = new FileStream(@"D:\Readme.txt",FileMode.Open); StreamReader sr = new S...
2019-03-08 15:46:24
这款激光是一种同轴激光,白光源,相对于三角反射理激光有其自身的优点。如果是双头来测厚的话,有几点关键的问题:激光点同轴度必须保证对齐双激光头如何保证数据的同步性激光的有效量程必须大于被测物运动时的波浪代码如下。有几点说明:(1)程序用到了netMarketing类库(2)由于使用了tcp方式访问激光头,程序上要保证两个激光头是同步发起读动作using netMarketing.http;
usi...
2019-03-07 10:27:41
今天做了一个多线程实现 DataGridView 动态更新数据,但是在动态实现更新数据达到20次左右时,DataGridView 突然变成一个大红叉。如下图所示:这种问题的出现属于非常罕见的情况,绝大部分时间是正常的。通过查询,解决如下:老外的解释:The DataGridView is a common .Net control used to display and permit editin...
2019-02-17 09:30:35
命名空间:sharClass.UserPermission功能:用户权限类,可为类或者Form提供用户权限检查机制功能详细说明:当窗体继承了UserPermission类后,即拥有了权限检查机制,可以解决某些功能是否有权限使用。netMarketing的myForm类就是继承了UserPermission类,因此当一个窗体继承了myForm类后,也同样拥有了权限机制。勇哥推荐最好是继承myForm...
2019-02-17 09:11:32
命名空间:netMarketing.winformHelper.dockingHelper功能:方便使用Docking的辅助类. Docking提供了窗体停靠的功能,类似VS编辑器的窗体停靠。功能详细说明:Docking是一个窗体停靠效果的控件,类似于VS面板中的依靠功能。这个类的作用是让Docking更加容易使用。要实现窗体停靠要做到三个方面: 1. MainForm中放入dockPane...