1、下载AForge类库,下载地址:https://code.google.com/archive/p/aforge/downloads,我下载的版本是:AForge.NET Framework-2.2.5.exe; 2、下载安装好后,将下载类库中的Release文件夹复制到C#项目的可执行文件文件夹,即Debug文件夹下; 3、在C#项目中添加引用,右击解决方案资源管理器下的引用上,点击添加引用,通过浏览找到Debug文件夹下的Release文件夹选择要添加的引用文件:AForge、AForge.Controls、AForge.Imaging、AF...
实现长连接前我们先了解下长连接与短连接的区别,明白何时选用长连接何时选用短连接。 长连接与短连接 长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。 短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。 长连接与短连接的操作过程 短连接的操作步骤是:建立...
C#实现向QQ邮箱发送信息 直接上代码 MailMessage mm = new MailMessage("*******@qq.com", "*******@qq.com");//第一个是发送人的邮箱号,第二个是收件人的邮箱号;mm.Subject = "SSSSSSS";//邮件标题mm.Body = "你好,这儿就是邮件内容";SmtpClient sc = new SmtpClient("smtp.qq.com");sc.UseDefaultCredentials = false;sc.EnableSsl = true;sc.Credentials = new NetworkCredential("发送人的QQ号", "QQ邮箱的授权码");//QQ邮箱...
NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。 直接上代码,这里我引用的事1.2.5版本,因为我项目是2.0的,不支持高版本 这里我是转成了datatable类型了,大家可以根据需求不一定要转换,可以直接操作sheet对象 public static DataTable LoadDataFromExcelByNPOI(string fileName){FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate); //读取文件流H...
此播放音效的方法几乎针对所有Windows系统都通用,废话不多说,直接上代码using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text;namespace CabbeenFactory.Service {public class VoiceService{/// <summary>/// 播放一个音频文件(必须是wav格式)/// </summary>/// <param name="lpszNameAs">音频文件</param>/// <param name="ByVal...
本文实例讲述了C#实现推送钉钉消息的方法。分享给大家供大家参考,具体如下: 利用钉钉提供的API可以推送消息到用户的钉钉app。根据钉钉的官方文档 1.首先登陆钉钉开发者后台 https://ding-doc.dingtalk.com/ 2.选择H5微应用,创建应用 3.创建好了接口测试应用拿到对应的ID 4.废话不多说直接上代码 我们首先建立一个工具类,用于post get的请求 public class HelperTools {string DingAppkey = "ding4vnqvr37dshot4zh";//钉钉 ...
using System; using System.IO; using System.Diagnostics; using Microsoft.Win32; using ICSharpCode.SharpZipLib.Checksums; using ICSharpCode.SharpZipLib.Zip;namespace AutoUpdate.Helper {public class SharpZip{public SharpZip(){ }/// <summary>/// 压缩/// </summary> /// <param name="filename"> 压缩后的文件名(包含物理路径)</param>/// <param name="directory">待压缩的文件夹(包含物理路径)</param>public sta...
C#实现将一个正整数分解质因数 正整数分解质因数即例如:90=2?3?3?5 编写代码思路: 判断输入的数据n是否为正 整数;判断是否为1,1不是素数(质数);判断输入数据本身是否为质数;每次都从质数2开始查找n的因数,因此有两步: 【1】 从1开始,以1为步长查找出质数i;【2】判断n%i(n对i求)是否为0,成立则输出i,并使n(新)=n(原)/i,判断n(新)是否为1,不成立则说明还有除1之外的因数,则输出乘号*;并令i=1,又从头开始查找n(新...
public class JSONReader {// 从文件读出JSON对象public static JSONObject Read(string path){if (!File.Exists(path)){return null;}try{string txt = File.ReadAllText(path);int offset = 0;JSONObject obj = null;if (JSONObject.TryParse(txt, ref offset, out obj)){return obj;}}catch (Exception){}return null;} }public class JSONObject {// JSON对象List<JSONPair> _pairs = new List<JSONPair>(); // '名称:值'对l...
一、 堆的介绍: 堆是用来排序的,通常是一个可以被看做一棵树的数组对象。堆满足已下特性:1. 堆中某个节点的值总是不大于或不小于其父节点的值任意节点的值小于(或大于)它的所有后裔,所以最小元(或最大元)在堆的根节点上(堆序性)。堆有大根堆和小根堆,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。2. 堆总是一棵完全二叉树除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到...
本节主要对ApplicationContext如何使用,欢迎交流 最近开发一套简单的WMS系统,业务功能完成后发现启动主页面时加载WebAPI数据时时间很长中间有2~5秒的空白期。 当然有多种方法可以解决比如说写一个后台线程来加载,页面的空白期可以迎刃而解,但是新的问题就出现了主页面启动后页面数据要等待2~5秒才能显示(不论这个方法写在哪里都感觉不是很合适),为了达到流畅的客户体验就不得不加一个启动页面这也是多数软件常用的方法。 加...
转载的,原文出处已不详细 摘要: 本文针对目前C/S模式下编写的应用程序可维护性差的特点,提出了一套自动在线升级的解决方案,分析了在线升级的困难及实现原理,并给出了实现升级的部分代码,具有实际参考价值和现实意义。本文程序代码均在.Net Framework 1.1 和Windows2000下测试通过。 关键词:C#;在线升级;自动升级;下载;XML文档 1 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争...
一、创建DLL 1、建立动态链接库项目 2、创建头文件和源文件 删除 framework.h、dllmain.c 等现有文件(照顾VS2013等低版本),创建新的头文件 Mydll.c Mydll.h Mydll.h头文件代码如下: #include<stdio.h> _declspec(dllexport) void test_print(char const* str);_declspec(dllexport) int test_sum(int a, int b); Mydll.c 代码如下: #include<stdio.h>#include"Mydll.h"void test_print(char const* str){ printf("...
add方法传入的是一个object对象,利用这点可以传入一个自定义对象,选中时获得的也是一个完整对象。using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace WindowsFormsPassword {class User{private String id;private String name;public User(String id,String name){this.id = id;this.name = name;}public String ID{get{return id;}set{this.id =...
新建一个Form1,写入下面代码,并在Form1添加一个print事件,Form1_Paint。Form1_Paint中有一个随机数二维数组 twoDim,把他改成你想要输出的数组。即可在Form1像matlab plot一样画出二维数组。 原理: 通过调用 e.Graphics.DrawLine作图 并通过Color MapRainbowColor方法定义不同数值对应的颜色 对数组遍历后画出数组的彩色图 但是注意,在c#中这样做需要执行遍历语句多次,作图的效率很低!! using System; using System.Collec...