自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yinyongxian

命与天齐 心比天高

  • 博客(58)
  • 资源 (7)
  • 问答 (3)
  • 收藏
  • 关注

原创 个人博客地址

https://yinyongxian.github.io

2018-05-19 08:17:55 394

原创 C# 克隆类 CloneHelper

C# 克隆类 CloneHelper/// /// 克隆/// 尹永贤/// [email protected]/// 2017-7-5 17:25:44/// public static class CloneHelper{ #region 克隆 public static T DeepClone(T sourceData) { try

2017-07-06 12:55:50 1620

原创 Visual Studio 通过mysql-connector-net连接MySQL

mysql-connector-net

2017-06-05 14:55:44 745

原创 C# BinaryFormatter序列化对象保存后,不能改变命空间

BinaryFormatter序列化一个对象,保存成配置文件。重构代码时,修改了对象的命名空间,导致BinaryFormatter反序列化异常:System.Runtime.Serialization.SerializationException: '无法加载进行反序列化所需的类型 XXX因此尽量不用BinaryFormatter序列化文件保存,以免后期重构是出现异常;采用和命空间件无

2017-06-01 11:49:12 1803

原创 尽量不用基本类型作为标识

当需要一个标志的时候,比如一个编号,人可能最先想到int等其他数值类型作为ID就可以了,这样会有一些问题。只应该是初级程序员才干的事情。假如一段时间之后,想改变标志的类型(int -> string), 程序中可能已有了大量的用int传递标志的部分,你就要修改所有相关地方的标志类型。所以要自定义一个类型(XXId),只需修改类型内部的属性即可,避免大范围的修改。同时自定义类

2017-05-30 09:30:06 315

原创 数据库尽量不用字符串存储非字符串数据

数据库存储的非字符串数据应该和代码或者界面数据分离,不要过分强调数据库数据的可读性。Eg:枚举存储enum Switch{ 开启, 关闭}可以存储Switch为“开启/关闭”的字符串,也可以存储为“0/1"的数值。假如下一个版本要将Switch更改为enum Switch{ 启用, 禁用}存储为“0/1"的数值的可以自动适应,存储Swit

2017-05-17 12:44:46 1368

原创 批处理获文件版本号

set batPath =%~dp0for /f "skip=1 tokens=2 delims==" %%i in ( 'wmic datafile where "name='%batPath :\=\\%HiveNMSClient.exe'" get Version /format:list') do for /f "delims=" %%v in ("%%i") do set "v

2017-05-11 15:41:02 3091

原创 C# 获取内网或公网IPAddress

内网IPAddresspublic static string InternalNetworkIpAddress{ get { var iPAddresses = Dns .GetHostAddresses(Dns.GetHostName()) .Where(ip =>

2017-03-11 10:04:42 2214

原创 单例模式-注意线程安全

单例模式一定要考虑线程安全性:加锁,锁中再判断,要不然就可能成了假的单例模式,创建多个实例,程序不按照预期执行。

2017-03-01 23:22:26 236

原创 C# 获取子类和实现接口的类

获取一个Assembly下的子类var bases = Assembly .GetExecutingAssembly() .GetTypes() .Where(item => item.IsSubclassOf(typeof(Base)) ) .Select(type => (Base)Activato

2017-02-17 19:26:30 6626

原创 SpeechSynthesizer 读取文字

using System;using System.Linq;using System.Speech.Synthesis;namespace SpeechSynthesizerDemo{ class Program { private static void Main(string[] args) { using (var

2017-02-08 13:44:11 3759

原创 AsParallel()没有多线程执行,要用 AsParallel().ForAll(...)

using System;using System.Linq;using System.Threading;namespace YYX.CATest{ static class Program { private static int Main() { var digitals = Enumerable.Range(0,

2016-12-28 13:33:19 5068 2

原创 Windows上C# 执行Cmd命令

using System;using System.Diagnostics;namespace YYX.CATest{ /// <summary> /// 尹永贤 /// 2016-12-25 12:09:49 /// [email protected] /// </summary> class Cmd : IDisposable {

2016-12-25 12:13:00 3029

原创 配置文件-软件一大杀手

软件升级过程中,要保留用户的软件配置。软件升级后配置文件的内容可能变化,防止变化的内容造成软件出现异常。需求更改前:SNMP响应时间配置范围是1到100s,响应询问次数是1到10次。 用户配置: 30s, 5次;配置文件类更改前:[Serializable]class SnmpSettings{ internal static readonly string DefaultFileP

2016-12-05 15:38:23 505

原创 Enum 常用类 EnumHelper

EnumHelperusing System;using System.Linq;namespace YYX.CATest{ static class Program { private static void Main() { var names = EnumHelper.GetNames<Week>();

2016-11-25 09:57:20 1723

原创 邮件发回软件错误信息

设置捕获未处理异常列表内容//处理未捕获的异常Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); //处理“UI线程”异常 Application.ThreadException += application_ThreadException; //处理“非UI线程”异常 AppDoma

2016-11-24 19:35:05 901

原创 判断哪个修改键(Shift、Ctrl 和 Alt)处于按下状态的值。

修改键/// <summary>/// 获取一个表示哪个修改键(Shift、Ctrl 和 Alt)处于按下状态的值。/// </summary>/// /// <returns>/// <see cref="T:System.Windows.Forms.Keys"/> 值的按位组合。默认值为 <see cref="F:System.Windows.Forms.Keys.None"/>。

2016-09-14 15:10:54 3219

原创 Func<T, ..., TResult> 委托 实现方法嵌套

Funcprivate static void Main(string[] args) { Func<int, int, int, int> Recursion = null; Recursion = (start, end, result) => { if (start > en

2016-05-19 14:57:46 1381

原创 Wireshark包使用Colasoft Packet Player重发

1.Wireshark包另存为:2.Add进Colasoft Packet Player,点击Play即可。

2016-04-23 17:31:48 3852

原创 mysql数据库批量快速插入

执行mysql数据库数据库插入多条数据时,写成如下格式很费时:INSERT INTO 表名 VALUES (值A1, 值A2);INSERT INTO 表名 VALUES (值B1, 值B2);......INSERT INTO 表名 VALUES (值XX, 值XX);写成如下形式可提高效率:INSERT INTO 表名 VALUES (值A1, 值A

2016-04-10 16:36:01 426

原创 子类没有无参构造函数则父类必须传值进行初始化

子类没有无参构造函数则父类必须传值进行初始化

2016-03-20 15:33:33 709

原创 广电双向网

2016-01-18 10:23:58 452

原创 原子操作

2016-01-07 10:46:53 361

原创 C# 获取字符串对应变量名

this.GetType().GetField("portName" + i.ToString()).GetValue(this).ToString()

2015-12-20 09:59:33 3269 1

原创 C# 变量改变事件

C# 变量改变事件public event EventHandler isChanged; private void RaiseisChanged() { var handler = isChanged; if (handler != null) {

2015-12-04 14:40:31 1971

原创 C# 快速创建线程

C# 快速创建线程Thread T = new Thread(() => { NewMethod(); }); T.Start();

2015-12-02 14:38:35 1971

原创 DataGridView 选中一行不变色

private void textGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor; e.CellStyle.Sel

2015-12-01 16:02:49 2645

原创 C# 判断当前用户是否是管理员

判断当前用户是否是管理员using System;using System.Security.Principal;namespace YYX.CATest{ class Program { public static void Main() { WindowsIdentity id = WindowsIdentit

2015-11-24 10:04:18 1949

原创 C#读取本机IP

C#读取本机IPusing System;using System.Data;using System.Linq;using System.Net;namespace YYX.CATest{ class Program { public static void Main() { string hostName

2015-11-23 17:32:22 287

原创 xml序列化和反序列化

xml序列化和反序列化

2015-11-04 18:13:31 423

原创 datagridview 一个单元格显示文字和图片

datagridview 一个单元格显示文字和图片文字超出时显示...private void dgv_Test_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) {/**/ if (e.ColumnIndex >= 0 && e.RowIndex = 0)

2015-10-21 14:00:48 5246

原创 Stopwatch 监测一段时间内一个任务是否完成

Stopwatch 监测一段时间内一个任务是否完成Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); try

2015-08-26 16:36:08 429

原创 Label文字颜色

Label文字颜色using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing;using System.ComponentModel;using LT.Common.Drawing

2015-08-18 14:22:51 692

原创 监视串口变动

监视串口变动thread = new Thread(Watch)                {                    IsBackground = true                };                thread.Start();private static bool TryGetPortNames(out IEnumerable

2015-08-11 17:58:53 417

原创 enum添加到combobox和获取

enum添加到combobox和获取 comboBox_MessageType.Items.AddRange(Enum.GetNames(typeof(MessageType))); get { return (MessageType) Enum.Parse(typeof (MessageType), comboBox_MessageType.

2015-08-10 09:36:02 2334

原创 自定义控件添加事件

自定义控件添加事件using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;name

2015-08-10 08:59:53 409

原创 读注册表获取程序安装路径

读注册表获取程序安装路径private static string ExePath { get { try { return Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"

2015-07-31 16:36:04 2971 2

原创 TopolHold

TopolHold

2015-07-23 15:17:25 223

原创 Tuple用例

啊额个合格/// /// 获取网络分组的所有设备. /// /// /// private Tuple> GetAllDeviceIdByNetworkGroup(TopolItemId picId) { List DeviceIdList = new List();

2015-07-16 16:16:28 262

原创 checkbox datagridview全选

checkbox datagridview全选:/// /// 全选. /// /// /// private void chb_SelectAll_Click(object sender, EventArgs e) { foreach (DataGridViewRo

2015-07-16 09:12:37 349

搜索软件的中文

搜索软件的中文

2017-08-18

重载-参数含有设置默认值

可选参数允许为方法的一些参数提供默认值,并允许使用者重载类型。

2015-04-27

C# winform 防止界面卡住 线程 委托

C# winform 防止界面卡住 线程 委托:单击按钮时创建线程,线程调用委托,执行委托的方法,实现更新窗体界面时不卡住。

2015-04-20

AnkhSvn-2.5.12266.msi

AnkhSvn-2.5.12266.msi

2014-08-04

无边框素材

c# 无边框素材 鼠标拖动使图片移动 通过lable添加图片,覆盖掉窗体(窗体设计为透视),实现无边框化。

2014-07-21

C#图片移动

C# 图片移动,实现鼠标的拖动picturebox使图片图片移动!

2014-07-21

简单的图片加密解密程序

简单的图片加密解密程序,实现拖动图片进行显示,判断拖动的文件是否是图片文件。

2014-07-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除