c#自杀程序的关键方法
摘要:public static void TestForKillMyself() { string bat = @"@echo off :tryagain del %1 if exist %1 goto tryagain del %0"; File.WriteAllText("killme.bat", bat);//写bat文件 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "killme.bat"; psi.Arguments = "/"&
阅读全文
C#编程中的66个好习惯,你有多少个?
摘要:最近在网上发现这篇文章,看看自己的编程习惯掌握了多少?1. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 4. 一个方法的代码长度最好不要超过25行。5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 6. 每行代码不要超过80个字符。 7. 不要手工的修改机器产生的代码。 a) 如果需要编辑机器产生的代码,编辑格式和风格要符合该编码标准。b) Use partial classes whenever possible to factor out the
阅读全文
分享一个正则表达式帮助类
摘要:using System.Globalization;using System.Text.RegularExpressions; /// <summary> /// 正则表达式帮助类 /// </summary> public sealed class RegexHelper { private RegexHelper() { } /// <summary> /// 清除包含'字符串 /// </summary> public const string CLEAN_STRING = @"[']"; /// &l
阅读全文
分享一个收集到的文件和目录操作类FileSystemObject
摘要:using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Data;using System.Web; public abstract class FileSystemObject { // Methods protected FileSystemObject() { } public static string ConvertSizeToShow(int fileSize) { int num = fileSize / 0x400; if (num < 1)
阅读全文
C# word类库
摘要:using System;using System.Collections.Generic;using System.Text;using Microsoft.Office.Interop.Word;using System.IO;using System.Web;using System.Data;using System.Reflection;using Microsoft.Win32;using System.Text.RegularExpressions;using System.Net;namespace OfficeOperate{ public class WordOperate
阅读全文
C#中 Process的扩展类ProcessExtensions
摘要:/// <summary> /// Process extensions /// </summary> public static class ProcessExtensions { #region Functions #region KillProcessAsync /// <summary> /// Kills a process /// </summary> /// <param name="Process">Process that should be killed</param> /// &l
阅读全文
[置顶] C#中 Process的扩展类ProcessExtensions
摘要:/// <summary> /// Process extensions /// </summary> public static class ProcessExtensions { #region Functions #region KillProcessAsync /// <summary> /// Kills a process /// </summary> /// <param name="Process">Process that should be killed</param> /// &l
阅读全文
C#获取当前系统信息的类
摘要:///<summary>///Class designed to give information///about the current system///</summary>publicstaticclassEnvironment{#regionPublic Static Properties///<summary>///Name of the machine running the app///</summary>publicstaticstringMachineName{get{returnSystem.Environment.Machi
阅读全文
分享一个收集系统出现错误时收集信息的类
摘要:在系统开发过程中,出现错误在所难免,但是怎么样处理好出错的情况,以及尽可能地收集出错时的一些信息,对我们分析错误,从而查找排除错误是很有帮助的,下面提供一个错误信息收集类给大家,希望能够派上用场。///<summary>///Class that handles gathering of error information///for reporting purposes///</summary>publicstaticclassErrorManager{#regionPublic Static Functions///<summary>///returns
阅读全文
压缩文件类的ZipFile
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO.Packaging;using System.IO;using Utilities.IO.ExtensionMethods;using Utilities.DataTypes.ExtensionMethods;namespace Utilities.FileFormats.Zip{ /// <summary> /// Helper class for dealing with zip fi
阅读全文
C#多线程之二:ManualResetEvent和AutoResetEvent
摘要:初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到信号, 继续向下执行。其区别就在调用后,AutoResetEv
阅读全文
C# 多线程之一:信号量Semaphore
摘要:Semaphore的理解通过使用一个计数器对共享资源进行访问控制,Semaphore构造器需要提供初始化的计数器(信号量)大小以及最大的计数器大小访问共享资源时,程序首先申请一个向Semaphore申请一个许可证,Semaphore的许可证计数器相应的减一,当计数器为0时,其他申请该信号量许可证的线程将被堵赛,直到先前已经申请到许可证的线程释放他占用的许可证让计数器加一,这样最近去申请许可证的线程将会得到竞争得到被释放的许可证。常见的操作方法 WaitOne():申请一个许可证 Release():释放占用的许可证具体使用看下面的示例代码:?12345678910111213141516171
阅读全文
总结几种C#窗体间通讯的处理方法
摘要:应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下:主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。C#窗体间通讯方法一:传值最先想到的,Form2构造函数中接收一个string类型参数,即Form1中选中行的文本,将Form2的TextBox控件的Text设置为该string,即完成了Form1向Form2的传值。当Form2的AcceptChange按钮按下,需要修改F
阅读全文
C#读写ini文件详解
摘要:C#读写ini文件是如何进行的呢?C#读写ini文件需要的方法有哪些呢?本文就向你一一介绍。C#读写ini文件之前要了解的概念:INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数.C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:[Section1] KeyWord1=Value1 KeyWord2=Value2 ... [Sectio
阅读全文
利用ADO.NET的体系架构打造通用的数据库访问通用类
摘要:在周公的博客上看到了他写的这篇博文,忍不住转载过来了。说明在之前周公曾写过针对不同数据库的数据库访问通用类,如针对SQLite的、针对Access的、针对Oracle的、针对SQL Server的。总结了这些通用类的通用方法,其实无非就是针对不同类型的数据库创建Connection、Command、DataAdapter及DataReader,然后对外提供范围ExecuteTable(),ExecuteDataReader、ExecuteScalar()及ExecuteNonQuery()方法,有了这四个方法我们就可以完成针对数据库的所有操作了。在之前周公就曾经想过将这些数据库访问通用类提炼出
阅读全文
C#接收电子邮件
摘要://///////////////////////////////////////////// 类名:Pop3 //// 功能:接收电子邮件 /////////////////////////////////////////////// using System;using System.Net.Sockets;using System.Net;using System.Security.Cryptography;using System.IO;namespace ZTSX.Email{/// <summary>/// Pop3 的摘要说明。/// </summary>
阅读全文
C#中将DataTable中数据导出到csv文件中
摘要:在上一篇博文【C#读取CSV文件的方法】中,我介绍了读取csv文件中数据的方法,现在我来介绍下将datatable中的数据导出到csv文件中的方法,废话不多说了,deme程序的代码如下:protected void Button1_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("test1"); dt.Columns.Add("test2"); dt.Columns.Add("test3"); dt.Columns.
阅读全文
[置顶]C#读取CSV文件的方法
摘要:在很多系统中,都需要读取csv文件,我在以前的一个项目中也遇到过要将csv文件中的数据读取到datatable中进行处理,下面的代码是我以前写的将csv文件中的数据导入到DataTable中的方法,现在贴出来给大家分享://GetCSVFile'S FileName and Data获取csv文件中数据,并将数据导入DataTable中// mycsvdt 用来装csv文件中数据的datatable,filepath是指csv文件的路径private bool OpenCSVFile(ref DataTable mycsvdt,string filepath) { string str
阅读全文
进程监视类ProceWatcher
摘要:/*========================================================* Author:myhuang* Date:2007-02-26* Note:获取进程主要属性值========================================================*/using System;using System.Collections.Generic;using System.Text;using System.Diagnostics;using System.Management;namespace ProceWatcher
阅读全文
【C#】 Socket通讯客户端程序
摘要:这段时间一直在优化Socket通讯这块,经常和Socket打交道,现在分享给大家一个小的案例,代码如下:byte[] m_dataBuffer = new byte [10]; IAsyncResult m_result; public AsyncCallback m_pfnCallBack ; private System.Windows.Forms.Button btnClear; public Socket m_clientSocket;//关闭连接void ButtonCloseClick(object sender, System.EventArgs e) { if (...
阅读全文