
C#
文章平均质量分 63
eryongyan
这个作者很懒,什么都没留下…
展开
-
VS使用技巧之-突出显示的引用
VS使用技巧之-突出显示的引用原创 2021-12-24 08:42:49 · 968 阅读 · 0 评论 -
lock死锁
c#中有个关键字lock,它的作用是锁定某一代码块,让同一时间只有一个线程访问该代码块,下面就我个人而言谈谈lock关键字的原理和其中应注意的几个问题: lock的使用原型是: lock(X) { //需要锁定的代码.... } 首先要明白为什么上面这段话能够锁定代码,其中的奥妙就是X这个对象,事实上X是任意一种引用类型,它在这儿起的作用就是任何线程执行到lock(X)时候,X转载 2014-07-08 10:40:20 · 841 阅读 · 0 评论 -
一键删除项目中的svn标记
关键在于修改文本的读写属性,不然不能删除。代码如下:string path = @"E:\屏幕编辑\"; string[] dirs = Directory.GetDirectories(path, ".svn", SearchOption.AllDirectories); foreach (var dir in dirs)原创 2014-06-29 10:06:05 · 1797 阅读 · 0 评论 -
一键切换解决方案的Visual Studio 版本
mh 只需要修改项目文件和解决方案文件中的相关内容即可private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; string[] Files = Directory.G原创 2014-06-29 06:22:31 · 1260 阅读 · 0 评论 -
c#怎样获取枚举中元素的个数
enum EnumTest { type1, type2, } class Program { static void Main(string[] args) { EnumTest e = new EnumTest(); strin原创 2014-06-29 06:05:59 · 11115 阅读 · 0 评论 -
利用Windows自带gdi32.dll实现抓取屏幕
internal static void GetScreenShot( ) { //获得当前屏幕的大小 Rectangle rect = new Rectangle(); rect = Screen.AllScreens[0].WorkingArea;原创 2014-06-29 06:10:17 · 3385 阅读 · 0 评论 -
Sql server 的完整备份和差异备份
Sql server 的完整备份和差异备份完整备份当然就是将数据库的数据全部备份而差异备份指得是将上一次备份后到现在对数据的修改进行备份.因此差异备份不能单独使用,只能先还原上一次的完整备份后,才能还原差异备份,当有多个差异备份时,只需要选择指定日期的差异备份文件即可,不需要逐个在此期间的差异备份. 步骤为:1、在需要还原的数据库上右键选择如图2、在“常规”选转载 2014-03-26 10:18:45 · 12831 阅读 · 0 评论 -
利用SQLDMO备份和还原数据库
利用SQLDMO备份和还原数据库using System;using System.Collections;using SQLDMO;namespace zj_SQLBackupAndRestore{/// /// zj_SQLBackupAndRestore 的摘要说明。/// /// zj/// 2006.12.15.AMpublic class zj_SQLBac转载 2014-03-26 10:04:36 · 1003 阅读 · 0 评论 -
算法实战:给定一个带通配符问号的数W,问号可以代表任意一个一位数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大?
算法实战:给定一个带通配符问号的数W,问号可以代表任意一个一位数字。再给定一个整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?原创 2014-04-20 08:51:12 · 4216 阅读 · 0 评论 -
简单测试数据库连接
public static bool TestDB(string _connectionStr) { try { using (SqlConnection conn = new SqlConnection(_connectionStr)) {原创 2014-04-18 18:25:05 · 2893 阅读 · 0 评论 -
保存对配置文件的修改
public static void updateConfig(string key,string value) { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);原创 2013-09-23 16:47:27 · 1259 阅读 · 0 评论 -
.NET中的Timer类型详解
.NET中的Timer类型详解.NET FrameWork中有多个Timer,怎么根据实际情况在选择,确实是一个问题计时器共有以下四种:原创 2014-03-19 11:08:01 · 3006 阅读 · 0 评论 -
执行sql脚本
使用osql.exe执行sql脚本的两种方法1 string sqlQuery = "osql.exe /uSa /p123 /s192.192.132.229 /dNorthWind /i yoursql.sql"; string strRst = ExeCommand(sqlQuery); private void ExeCommand(strin转载 2014-03-27 14:33:54 · 870 阅读 · 0 评论 -
c#:怎么让自动生成类的注释
很多程序员都会需要给类文件做注释。。比如说作者是谁之类的。。。首先你找到你自己的 VS2010安装目录右键点搜索输入关键字Class.zip搜出来 最终打开Class.cs编辑加上注释。。。 保存。。就OK以后每次新建类就会有注释了,如下: 另外, Web项目,网站和Winform都是不同的以下均以vs2010为例转载 2014-03-10 16:54:43 · 3900 阅读 · 0 评论 -
使用RenderControl方法把GridView控件导出到EXCEL
// 把GridView输出到Excel文件 private void ExportExcel(GridView gridView, string title, string title2, string fileName) { int nHideCols = 0; //如果不想输出出某列,将Visible原创 2014-03-14 14:31:54 · 1517 阅读 · 0 评论 -
图片处理为浮雕和黑白效果
/// /// 浮雕效果图 /// /// 原图 /// 80左右 /// public static Bitmap Relief(Bitmap SImage, int p) { int Height = SImage.Height;原创 2014-03-11 15:40:15 · 2029 阅读 · 0 评论 -
预处理指令
from:预编译指令--介绍 预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令: 指令 用途 #转载 2014-03-04 14:04:41 · 974 阅读 · 0 评论 -
怎样重启WinForm/WPF程序
怎样重启WinForm/WPF程序 可以使用如下代码Application.ExitThread(); //退出主线程,并关闭所有窗体System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);开启新进程当然如果代码没有在主线程中,还要使用this.Begi原创 2014-04-08 10:08:02 · 3473 阅读 · 0 评论 -
log4net
Demo下载1、概述log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。2、Log4net的主要组成部分2.1 AppendersAppen原创 2014-08-20 09:37:54 · 1074 阅读 · 0 评论 -
NPOI 简介
NPOI 简介是一个国人的OFFICE SDK. 是POI的.NET版 设计目的是用于处理word,excel,ppt中的文本,还可以提取图片文件中的图片等。 不支持mathtype, mathml,等数学公式的提取,公式会被提取为图片。 当然也可以用来生成简单的word,excel,ppt.读取方法using (FileStream stream = File.OpenRea...原创 2018-06-30 19:59:50 · 3089 阅读 · 0 评论 -
VS生成事件 Pre/Post-Build Event
我们可以利用build event 完成一些常用的动作,如果发布网站等等。脚本由dos 命令, 或 bat 批处理 组成以下是测试过的一些命令。del *.pdb 删除全部pdb文件copy "$(TargetDir)*.dll" "c:\test\" 复制所有DLL文件到指定目录,目标目录必须存在copy "$(TargetDir)" "c:\tes原创 2017-11-23 18:38:39 · 7471 阅读 · 0 评论 -
C# 控制台程序 隐藏控制台窗口
在某些项目中,需要采用控制台程序,但是又不需要通过dos窗口进行交互,同时打算隐藏掉难看的控制台窗口。实现的方法很多,有的是修改链接命令。我采用的方法略有些麻烦,首先是给窗口命名,之后找到该窗口指针,之后再调用winAPI隐藏窗口。 class Program { [DllImport("user32.dll", EntryPoint = "ShowWindow", Se转载 2017-12-08 11:45:50 · 10226 阅读 · 2 评论 -
c# windows服务 启动外部程序,程序已开启,但看不到界面
c# windows服务 启动外部程序,程序已开启,但看不到界面(源码下载)转载 2017-08-09 18:17:19 · 12050 阅读 · 3 评论 -
LDAP ,AD开发记录
LDAP 开发记录:LDAP VS AD NET FrameWork中有 LDAP library (System.DirectoryServices.Protocols;)和 ActiveDirectory (AD) library System.DirectoryServices;, 两者都可以操作LDAP SERVER,但后者针对AD 的查询进行了一些优化 如果需求很明确只是要支持AD,原创 2017-03-15 09:55:37 · 863 阅读 · 0 评论 -
.net中的System.Threading.Interlocked类可以为多个线程共享的变量提供原子操作
.net中的System.Threading命名空间的Interlocked类可以为多个线程共享的变量提供原子操作。 经验显示,那些需要在多线程下被保护的资源通常是整型的,而这些被共享的整型值最常见的操作就是增加、减少。Interlocked类提供了一个专门的机制用于完成这些特定的操作。 下面的例子是一个没有使用Interlocked类的操作:转载 2015-09-18 15:44:17 · 1291 阅读 · 0 评论 -
在C#中读写INI配置文件
using System; using System.Text; using System.IO; using System.Runtime.InteropServices;namespace PubOp { public class OperateIniFile { #region API函数声明 [DllImport("kernel32")]/转载 2015-07-24 16:24:38 · 652 阅读 · 0 评论 -
C# FileSystemWatcher 在监控文件夹和文件时的用法
概述最近学习FileSystemWatcher的用法,它主要是监控一个文件夹,当文件夹内的文件要是有更改就要记录下来,我就整理下我对FileSystemWatcher 的理解和用法.转载 2015-07-24 16:59:52 · 4095 阅读 · 0 评论 -
Build Action 设置为 Embedded Resource
Microsoft .NET 框架支持两种资源 — 无类型清单资源和有类型资源。通过将文件的 Build Action 设置为 Embedded Resource,可以让 Visual Studio .NET 支持无类型清单资源,并通过 .resx 文件(可以是自定义文件或作为组件资源的备份存储)支持有类型资源。清单资源的好处是,它们可在 IDE 中直接编辑,而有类型资源需要做特别的工作才能编辑,但原创 2015-07-02 10:29:13 · 2775 阅读 · 0 评论 -
Linked vs. Embedded Resources(链接的资源与嵌入的资源)
参考:https://msdn.microsoft.com/zh-cn/library/ht9h2dk8(VS.80).aspx Linked vs. Embedded Resources 链接的资源与嵌入的资源 Visual Studio项目为处理资源提供了两个不同的选项;资源可以是链接资源(默认)或嵌入资源。虽然在一个项目中可以同时有链接资源和嵌入资源,但大多数情况下需要为项目中的所有资源转载 2015-07-02 09:44:13 · 1637 阅读 · 0 评论 -
Visual Studio 中项目文件属性的Build action 设置
Visual Studio 中项目文件属性的Build action 设置None: The file is not included in the project output group and is not compiled in the build process. An example is a text file that contains docume翻译 2015-07-02 11:17:20 · 2784 阅读 · 0 评论 -
字符串类型与其他数据类型的转换
字符串类型与其他数据类型的转换 String类型可以与其他基本类型直接进行转换,在此以System.Double类型与System.String类型的转换为例,来简要说明二者转换的几个简单的方法及其区别。 Double类型转换为String类型: Double num = 123.456;string str = num.ToString(); Double类型覆写了T转载 2014-11-05 10:01:52 · 1254 阅读 · 0 评论 -
C#中 foreach,linq,delegate集合查询的性能比较
昨天和别人讨论了一下linq的性能,自我觉得linq的性能不行,但是实际上linq还是在性能上有过人之处的,linq to sql除外,以下是简单的性能测试比较代码,在这里解释一下,代码的执行速度计时测试不能用datetime了,我还是个小白,刚开始用的datetime,结果发现linq的性能并不行,但是用StopWatch才发现了事实,以前对linq的偏见的同学还是拥抱一下linq吧,转载 2014-11-18 09:49:27 · 2746 阅读 · 0 评论 -
for 和foreach的区别
1.for循环并不依赖于数组或其他形式的组式数据结构,只是简单的 在调用了代码后,进行一个判断,判断是否要继续。 (非常类似于do..while和while循环)2.foreach循环如果作用在一个基于System.Array的类型之上的数组的话,编译器会自动优化成与for循环非常类似 的代码,只是调用的指命有细微的差别,并且检查(包括编译阶段和运行时)会比for严格原创 2014-11-18 15:12:20 · 1580 阅读 · 0 评论 -
c#对象序列化
from: http://www.cnblogs.com/KeithWang/archive/2012/02/22/2363443.html.Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象。Serializer的使用比较直观,需要多注意的是XML序列化相关的Attribu转载 2014-08-19 14:41:11 · 924 阅读 · 0 评论 -
SqlCacheDependency asp.net 页面缓存
SqlCacheDependency 页的Sql缓存 Cahce/SqlCachePage.aspx@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SqlCachePage.aspx.cs" Inherits="Cahce_SqlCachePage"转载 2014-08-20 10:54:56 · 939 阅读 · 0 评论 -
常用的window消息值
常用的消息值如下:附录A Windows 常用消息大全表A-1 Windows消息分布消息范围说 明0 ~ WM_USER – 1系统消息WM_USER ~ 0x7FFF自定义窗口类整数消息WM_APP ~ 0xBFFF应用程序自定义消息0x原创 2014-02-20 14:48:09 · 2643 阅读 · 2 评论 -
重写WndProc方法来处理 Windows 消息
处理 Windows 消息。 在开发winForm时,常常要处理Windows消息,可以重写WndProc来实现。常见代码如下:using System;using System.Drawing;using System.Windows.Forms;namespace csTempWindowsApplication1{ public class Form1 : Syste原创 2014-02-20 14:44:31 · 5882 阅读 · 0 评论 -
Mutex 与Monitor 的区别
Mutex其实并不常用,主要用于进程边界的同步,没有人会在可以用Monitor解决的地方换成Mutex。如果Minitor解决不了的时候还可以用EventWaitHandle(二态)或者Semaphore(多态)。使用Mutex慢并不是因为P/Invoke(CLI对Windows的十种内核对象的包装都无一例外是通过P/Invoke实现的,并不独独只有Mutex),通常在原生Windows情况下Mu转载 2013-08-29 11:54:26 · 1707 阅读 · 0 评论 -
Parallel.For 详解
Parallel.For(0, 20, () => { // invoked once for each thread // 对每个线程只初化一次 Console.WriteLine("init thread {0}原创 2013-08-29 11:54:05 · 1587 阅读 · 0 评论 -
C# 如何 保存对config文件的修改
关键是要创建System.Configuration.Configuration对象,这个对象没Save()方法//创建 System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); //修改配置文件的内容原创 2013-08-29 11:53:56 · 3198 阅读 · 0 评论