
C#
C#
清山博客
多闻阙疑,慎言其余,则寡尤;多见阙殆,慎行其余,则寡悔。言寡尤,行寡悔。
展开
-
Winform 限制程序只能运行1个实例
通过在Program.cs文件中进行限制。原创 2024-03-07 09:48:54 · 580 阅读 · 0 评论 -
C# 计算程序耗时
方法二:DateTime.Now。方法一:stopwatch。原创 2023-08-14 14:33:57 · 153 阅读 · 0 评论 -
行为式验证码(成语点选)(C#版和Java版)
3.将选择的成语随机(位置随机,字体随机,颜色随机)绘制到背景图上,记录每个字的坐标范围,后面用于验证用户是否选择正确。1.选择若干张图片(这里使用的是320x160的尺寸),随机从中抽取一张作为背景图。参考了一下,自己实现了一个简单的成语点选的模式。5.前端点击后,将点击坐标点传回后端,后端进行验证。3.前端页面参考C# ASP.NET MVC 版。2.整理一个成语库,用作验证码里的字。4.文件:captcha.css。5.文件:captcha.js。4.将成语及图片返回给前端。1.后端生成验证码图片。原创 2023-07-18 12:24:30 · 7652 阅读 · 0 评论 -
国密算法C#实现(包括:SM2、SM3、SM4)
国密算法C#实现(包括:SM2、SM3、SM4)原创 2023-02-21 17:31:40 · 953 阅读 · 2 评论 -
国密SM2算法(JS加密,C#、Java解密)
注意:C#加解密使用的是 BouncyCastle.Crypto.dll,版本为:1.9.0.1,不同版本加密代码不一样,折腾这个问题折腾了挺久。为了方便验证加密、解密结果,本文以一组固定的公钥和私钥进行演示(公钥和私钥后文有描述如何产生)。注意:Java加解密使用的是 bcprov-jdk16-1.46.jar 这个版本的包。前端js使用公钥进行加密,后端使用私钥进行解密(后端可以是C#或java语言)。我这里使用的是VScode调试Java代码。RSA加密(JS加密,C#、Java解密)请参考。原创 2023-02-18 17:24:36 · 9032 阅读 · 4 评论 -
C# 阿里云短信接口调用(不使用SDK,单文件完成)
C# 阿里云短信接口调用(不使用SDK,单文件完成)原创 2023-01-05 12:46:47 · 2474 阅读 · 7 评论 -
RSA加解密(C#版)(无长度限制)
【代码】RSA加解密(无长度限制)原创 2022-11-16 16:52:15 · 681 阅读 · 0 评论 -
RSA对称加密(JS加密,C#、Java解密)
常见的渗透测试会将网站登录时密码使用明文传输视为风险。推荐使用国密算法或者RSA算法对密码进行加密传输。原创 2022-09-07 14:56:15 · 8790 阅读 · 2 评论 -
用正则表达式简单解析JSON字符串
目前JSON格式数据使用很广泛,无论在C#和Java中都经常会用到,比如解析某个JSON字符串里的某个字段。解析JSON字符串,往往要依赖第三方库。偶尔一个小功能,引用第三方库来解析JSON有点得不偿失。反而直接用正则进行匹配更为直接有效(个人观点,不喜勿喷)。原理环视要匹配的字段,再将字段值命名捕获到val。注意默认匹配字符串中不含有"号,才适用。............原创 2022-07-21 09:43:25 · 7099 阅读 · 0 评论 -
C#钉钉开发:取得所有员工通讯录和发送工作通知
需求描述:1.通过调用钉钉api获取组织里所有员工的信息(通讯录)。2.通过调用钉钉api向指定员工发送工作通知。实现步骤:一、钉钉开发者中心配置1.登录钉钉开发者中心开发者后台统一登录 - 钉钉统一身份认证。2.创建 企业内部应用-H5微应用。3.设置应用权限因为要读取所有员工信息,所以 权限范围 选择所有员工,通讯录管理 权限全部勾上。4.开发管理:设置服务器出口IP,即你需要调用api的IP地址。二、代码编写1.下载钉钉SDK:钉钉官方提供...原创 2021-11-03 15:18:35 · 5002 阅读 · 0 评论 -
C# /Java 百度地图,高德地图,Google地图(GPS) 经纬度转换
using System;namespace PhotoHelper{ /// <summary> /// 位置坐标转换类 /// WGS-84:是国际标准,GPS坐标(Google Earth使用、或者GPS模块) /// GCJ-02:中国坐标偏移标准,Google Map、高德、腾讯使用 /// BD-09:百度坐标偏移标准,Baidu Map使用 /// </summary> pu.原创 2021-10-26 13:15:01 · 1778 阅读 · 0 评论 -
C# 高德地图 根据经纬度获取地址
using System;using System.IO;using System.Net;using System.Text;namespace PhotoHelper{ public class AmapUtil { private const string Key = "3ee6df6847015dec899aa46032226fa0"; /// <summary> /// 根据经纬度获取地址 .原创 2021-10-26 13:13:31 · 1601 阅读 · 0 评论 -
C# 调用系统声音 嘀~
public class BeepUp { /// <param name="iFrequency">声音频率(从37Hz到32767Hz)。在windows95中忽略</param> /// <param name="iDuration">声音的持续时间,以毫秒为单位。</param> [DllImport("Kernel32.dll")] //引入命名空间 using System....原创 2021-08-19 11:15:20 · 1215 阅读 · 0 评论 -
C# 将网页保存为图片(利用WebBrowser)
using System;using System.Drawing;using System.Windows.Forms;namespace UrlToImage{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object se.原创 2020-11-09 15:26:13 · 2008 阅读 · 0 评论 -
C# Java 相互加密解密(DES对称加密方式)
JAVA和.NET的系统类库里都有封装DES对称加密的实现方式,但是对外暴露的接口却各不相同,甚至有时会让自己难以解决其中的问题,比如JAVA加密后的结果在.NET中解密不出来等,由于最近项目有跨JAVA和.NET的加解密,经过我的分析调试,终于让它们可以互相加密解密了。直接上代码:C# 代码using System;using System.IO;using System.Secu...原创 2020-04-24 14:52:39 · 3226 阅读 · 1 评论 -
Windows实现Socket通讯示例
先看效果:一个服务器连多个客户端,支持服务器往客户端推送消息,也支持客户端往服务器发送消息。服务器端代码:(仅列出主要代码,完整代码请下载资源源码)using System;using System.Collections.Generic;using System.Diagnostics;using System.Net;using System.Net.Sockets;...原创 2020-03-22 21:20:40 · 1257 阅读 · 0 评论 -
C#3.0的一些新特性
1.隐含类型局部变量var i = 5;var h=23.56;var s = “C Sharp";var intArr = new[] {1,2,3,4} ;var a = new[] { 1, 10, 100, 1000 };// int[]•var为关键字,可以根据后面的初始化语句自动推断类型。•初始化语句必须为表达式,且编译时可以推断类型。•var声明的仅限于局部变量,亦可以用于for原创 2009-08-21 16:20:00 · 1207 阅读 · 0 评论 -
C# 如何让单词首字母大写
引用一个现成的函数System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(string str);原创 2009-08-24 16:40:00 · 12678 阅读 · 2 评论 -
SQL代码自动生成器
SQL代码自动生成器,效果图如下: 实现原理很简单: 通过数据库名,获取到数据表名,进而获取到数据字段。通过可视化的选择+自定义的添加修改,一步一步完成SQL语句的编写。其中对于常用的存储过程参数列表的书写提供了方便。 还可以直接通过数据表名,自动生成数据访问类; 您可以在 http://sites.google.原创 2009-08-24 18:31:00 · 8888 阅读 · 2 评论 -
C#启动停止SQL数据库服务
方法一:在命令行里填写命令:net start/stop mssqlserver方法二:通过C#代码实现; using System;using System.Windows.Forms;using System.ServiceProcess;class Test : Form{ Test() { //启动按钮; Button btn1 =原创 2009-08-27 20:41:00 · 3338 阅读 · 0 评论 -
C#实现经典排序算法
1、选择排序 //选择排序class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i < arr.Length - 1; ++i) {原创 2009-09-07 22:38:00 · 1530 阅读 · 0 评论 -
SQL数据类型和C#数据类型间的转换
SQL数据类型和C#数据类型间的转换SQL" To="C#"> SQL" To="C# System Types">原创 2009-09-09 11:15:00 · 2421 阅读 · 1 评论 -
文件对话框的使用
1.文件保存对话框的使用:①添加一个saveFileDialog1控件,添加一个触发这个控件的按钮“保存按钮”;②“保存按钮”的后台代码: private void btnSaveAsFile_Click(object sender, EventArgs e) { if (saveFileDialog1.ShowDialog原创 2009-09-14 22:13:00 · 1178 阅读 · 0 评论 -
二进制文件的读写
1.写入二进制文件:①用到的命名空间:using System.IO;using System.Text;②写进二进制文件:public Stream s; public BinaryWriter w;s = File.Create("test.bin");w = new BinaryWriter(s);//基于所提供的流,用 UTF-8 作为字符串编码来初始原创 2009-09-15 10:58:00 · 1287 阅读 · 0 评论 -
C#中的参数传递
方法的参数传递机制: 1.值参数 (Value Parameter) 方法名称 ( 参数类型 参数名称[,参数类型 参数名称] ) 2.引用参数 (Reference Paramter) 方法名称 ( ref 参数类型 参数名称 [,ref 参数类型 参数名称] ) 3.输出参数 (Out Paramter) 方法名称 ( out 参数类型 参数名称[,out 参数类型 参原创 2009-09-17 20:54:00 · 1398 阅读 · 0 评论 -
C#二进制输出数据
用ToString方法: 说明:Convert.ToString 方法 (Int16, IFormatProvider) 用法:string valueString = Convert.ToString( value, radix ); //value 整数值, //radix 为2,8,10,16 分别代表进制。原创 2009-09-20 11:04:00 · 8366 阅读 · 0 评论 -
C#将十进制转二进制
using System;class ggg{ static void Main() { Console.WriteLine("请你输入十进制,我为你转换成二进制,谢谢使用。"); int a,b,d,f; int c=0; a=int.Parse(Console.ReadLine()); b=a; do { b/=2;原创 2009-09-20 11:12:00 · 7786 阅读 · 0 评论 -
C# 二进制,十进制,十六进制 互转
C# 二进制,十进制,十六进制 互转//十进制转二进制Console.WriteLine(Convert.ToString(69, 2));//十进制转八进制Console.WriteLine(Convert.ToString(69, 8));//十进制转十六进制Console.WriteLine(Convert.ToString(69, 16)); /原创 2009-09-20 12:51:00 · 1609 阅读 · 0 评论 -
c#如何将一个整数转换二进制,并进行位运算
进行位运算,是不需要转化成二进制的。CPU在运算的时候,内部把所有数据都看成二进制。Convert 看类名就知道,是提供一个转换函数的。 位运算只能在 byte, char, short, ushort, int, uint, long, ulong 等类型上进行运算。 当然 Enum 类型,也是基于这些类型的,也可以用位运算。 一些例子: int a = 8; int b =原创 2009-09-20 15:13:00 · 9013 阅读 · 0 评论 -
namespace-命名空间
using B;namespace A { class App { static void Main() { classFoo f=new classFoo(); f.Display(); } }}namespace B{ class classFoo { public void原创 2009-11-08 10:24:00 · 888 阅读 · 0 评论 -
C#扫描计算机端口
using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;using System.Threading;namespace PortScanner{ class Program { //已扫描原创 2009-12-24 12:15:00 · 1878 阅读 · 0 评论 -
NameValueCollection详解
<br />1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。<br />但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符串值(就是键相同,值就连接起来如下例子)。该类可用于标头、查询字符串和窗体数据。<br />每个元素都是一个键/值对。NameValueCollection 的容量是 NameValueCollection 可以保存的元素数。<br />NameValueCollection 的默认初始容原创 2010-06-29 17:10:00 · 19183 阅读 · 2 评论 -
Dictionary集合
<br /><br />Dictionary<string, string>是一个泛型集合,他本身有集合的功能有时候可以把它看成数组,<br />他的结构是这样的:Dictionary<[key], [value]> <br />他的特点是存入对象是需要与[key]值一一对应的存入该泛型,通过某一个一定的[key]去找到对应的值。<br />直接看代码:<br />using System;using System.Collections.Generic;using System.Text;us原创 2010-07-06 12:42:00 · 1461 阅读 · 0 评论 -
C# 遍历枚举
<br />public enum ManageFunction_CHN{ 上传文件 = 10, 审核文件 = 20, 管理文件 = 30, 管理员工 = 40, 设置参数 = 50}//遍历String[] EnumFuncTitle=Enum.GetNames(typeof(ManageFunction_CHN));Int32 intCnt = 0;foreach(Int32 intVa原创 2010-08-06 20:04:00 · 1183 阅读 · 0 评论 -
C# 遍历枚举
<br />public enum ManageFunction_CHN{ 上传文件 = 10, 审核文件 = 20, 管理文件 = 30, 管理员工 = 40, 设置参数 = 50}//遍历String[] EnumFuncTitle=Enum.GetNames(typeof(ManageFunction_CHN));Int32 intCnt = 0;foreach(Int32 intVa原创 2010-08-06 20:04:00 · 1141 阅读 · 0 评论 -
C# 文件,文件夹的操作
<br /><br /> C# 文件操作(文件夹 及 文件)System.IO 类<br />目录操作<br />string[] drives = Directory.GetLogicalDrives(); //本地驱动器的名,如:C:/等<br />string path = Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录<br />Path.GetFileName(@"c:/dir/file.txt"); //获取子目录的原创 2010-09-09 18:03:00 · 1587 阅读 · 0 评论 -
C#把字符串转时间格式
using System;class Test{ static void Main() { Console.WriteLine(GetSynStartTime("20100916112049")); } public static string GetSynStartTime(string synStartTime) { return DateTime.ParseExact(synStartTime, "yyyyM原创 2010-09-16 11:38:00 · 3696 阅读 · 0 评论 -
批量删除文件夹下包含指定字段的文件
using System;using System.IO;using System.Text.RegularExpressions;class App{ static void Main() { App Dir=new App (); Console.WriteLine("##########################【程序使用说明】############################"); Console.WriteLine("--目 的:本原创 2010-11-12 13:44:00 · 5516 阅读 · 0 评论 -
C# 获取系统文件夹
<br />System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop);<br /> <br />System.Environment.SpecialFolder <br />详情:http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx原创 2011-05-14 16:01:00 · 2112 阅读 · 0 评论 -
.net读写配置文件
在网站或应用程序时,经常会用到配置文件,而这些配置文件一般多是xml文档,在开发配置文件过程中,可以采用下面的思路: 每个配置文件对应一个实体类,添加配置文件内容时,就new一个配置实体类并给这个类的属性进行赋值,然后【序列化】为xml,接着保存到文件; 读取时,直接读取前面序列化的xml文档,然后【反序列化】为对应的实体类,通过对实体类的访问以得到配置文件。用到的主要函数: /// /// 获取配置信息 ///原创 2011-05-21 22:44:00 · 2261 阅读 · 0 评论