|
|
|
|
|
12 2011 档案
谈谈多线程的思维方式
摘要:前段时间仔细看过些关于多线程方面的资料,项目中用到线程的地方也不少,可是,当看了Jeffrey的一篇关于锁的文章后,发现自己虽然一直都在使用多线程,但是缺少了做多线程编程需要的思维!所以想从Jeffrey的Optex(锁)入手,来谈谈我从其中体会的东西。 ...
阅读全文
谈谈多线程的思维方式
摘要:前段时间仔细看过些关于多线程方面的资料,项目中用到线程的地方也不少,可是,当看了Jeffrey的一篇关于锁的文章后,发现自己虽然一直都在使用多线程,但是缺少了做多线程编程需要的思维!所以想从Jeffrey的Optex(锁)入手,来谈谈我从其中体会的东西。在NET中,我们用的最多的锁机制就是lock,用起来很简单,短短几行程序就可以实现,例如:publicclassTestThreading{privateSystem.ObjectlockThis=newSystem.Object();publicvoidFunction(){lock(lockThis){//Accessthread-sens
阅读全文
C#多线程之二:ManualResetEvent和AutoResetEvent
摘要:初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到信号, 继续向下执行。其区别就在调用后,AutoResetEv
阅读全文
C#多线程之二:ManualResetEvent和AutoResetEvent
摘要:初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, ...
阅读全文
C# 多线程之一:信号量Semaphore
摘要:Semaphore的理解通过使用一个计数器对共享资源进行访问控制,Semaphore构造器需要提供初始化的计数器(信号量)大小以及最大的计数器大小访问共享资源时,程序首先申请一个向Semaphore申请一个许可证,Semaphore的许可证计数器相应的减一,当计数器为0时,其他申请该信号量许可证的线程将被堵赛,直到先前已经申请到许可证的线程释放他占用的许可证让计数器加一,这样最近去申请许可证的线程将会得到竞争得到被释放的许可证。常见的操作方法 WaitOne():申请一个许可证 Release():释放占用的许可证具体使用看下面的示例代码:?12345678910111213141516171
阅读全文
C# 多线程之一:信号量Semaphore
摘要:Semaphore的理解 通过使用一个计数器对共享资源进行访问控制,Semaphore构造器需要提供初始化的计数器(信号量)大小以及最大的计数器大小 访问共享资源时,程序首先申请一个向Semaphore申请一个许可证,Semaphore的许可证计数器相...
阅读全文
总结几种C#窗体间通讯的处理方法
摘要:应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下:主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。C#窗体间通讯方法一:传值最先想到的,Form2构造函数中接收一个string类型参数,即Form1中选中行的文本,将Form2的TextBox控件的Text设置为该string,即完成了Form1向Form2的传值。当Form2的AcceptChange按钮按下,需要修改F
阅读全文
总结几种C#窗体间通讯的处理方法
摘要:应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下: 主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修...
阅读全文
C#读写ini文件详解
摘要:C#读写ini文件是如何进行的呢?C#读写ini文件需要的方法有哪些呢?本文就向你一一介绍。C#读写ini文件之前要了解的概念:INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数.C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:[Section1] KeyWord1=Value1 KeyWord2=Value2 ... [Sectio
阅读全文
C#读写ini文件详解
摘要:C#读写ini文件是如何进行的呢?C#读写ini文件需要的方法有哪些呢?本文就向你一一介绍。 C#读写ini文件之前要了解的概念:INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放...
阅读全文
利用ADO.NET的体系架构打造通用的数据库访问通用类
摘要:在周公的博客上看到了他写的这篇博文,忍不住转载过来了。 说明 在之前周公曾写过针对不同数据库的数据库访问通用类,如针对SQLite的、针对Access的、针对Oracle的、针对SQL Server的。总结了这些通用类的通用方法,其实无非就是针对不同类型的数据...
阅读全文
利用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.Securi...
阅读全文
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(objec...
阅读全文
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
阅读全文
[置顶] 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
阅读全文
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
阅读全文
C#读取CSV文件的方法
摘要:在很多系统中,都需要读取csv文件,我在以前的一个项目中也遇到过要将csv文件中的数据读取到datatable中进行处理,下面的代码 是我以前写的将csv文件中的数据导入到DataTable中的方法,现在贴出来给大家分享: //GetCSVFile'S Fil...
阅读全文
[置顶]常用存储过程集锦
摘要:收集的常用存储过程,都是一些mssql常用的一些,大家可以根据需要选择使用。 =================分页========================== /*分页查找数据*/ CREATE PROCEDURE [dbo].[GetRecordSet] @strSql varchar(8000),--查询sql,如select * from [user] @PageIndex int,--查询当页号 @PageSize int--每页显示记录 AS set nocount on declare @p1 int declare @currentP...
阅读全文
[置顶] 常用存储过程集锦
摘要:收集的常用存储过程,都是一些mssql常用的一些,大家可以根据需要选择使用。 =================分页========================== /*分页查找数据*/ CREATE PROCEDURE [dbo].[GetRecordSet] @strSql varchar(8000),--查询sql,如select * from [user] @PageIndex int,--查询当页号 @PageSize int--每页显示记录 AS set nocount on declare @p1 int declare @currentP...
阅读全文
常用存储过程集锦
摘要:收集的常用存储过程,都是一些mssql常用的一些,大家可以根据需要选择使用。 =================分页========================== /*分页查找数据*/ CREATE PROCEDURE [dbo].[...
阅读全文
进程监视类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
阅读全文
进程监视类ProceWatcher
摘要:/*======================================================== * Author:myhuang * Date:2007-02-26 * Note:获取进程主要属性值 ===============...
阅读全文
C# 邮件发送方法【NetMail方式】
摘要:在上一篇博文C# 邮件发送方法【webMail方式】中介绍了Webmail的邮件发送方式,现在介绍下C#中使用NetMail发送邮件的方式, 测试代码如下: /// /// NetMail方式测试通过 /// private vo...
阅读全文
[置顶]C# 邮件发送方法【NetMail方式】
摘要:在上一篇博文C# 邮件发送方法【webMail方式】中介绍了Webmail的邮件发送方式,现在介绍下C#中使用NetMail发送邮件的方式,测试代码如下:/// <summary> /// NetMail方式测试通过 /// </summary> private void TestSend() { System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(); //收件人地址 mm.To.Add(new System.Net.Mail.MailAddress("xxxxxx@163.com
阅读全文
[置顶] C# 邮件发送方法【NetMail方式】
摘要:在上一篇博文C# 邮件发送方法【webMail方式】中介绍了Webmail的邮件发送方式,现在介绍下C#中使用NetMail发送邮件的方式,测试代码如下:/// <summary> /// NetMail方式测试通过 /// </summary> private void TestSend() { System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(); //收件人地址 mm.To.Add(new System.Net.Mail.MailAddress("xxxxxx@163.com
阅读全文
C# 邮件发送方法【webMail方式】
摘要:在上一篇博文C# 邮件发送方法【webMail方式】中介绍了Webmail的邮件发送方式,现在介绍下C#中使用NetMail发送邮件的方式,测试代码如下:/// /// NetMail方式测试通过 /// private void TestSend() { System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(); //收件人地址 mm.To.Add(new System.Net.Mail.MailAddress("xxxxxx@163.com", "Name")); //发件人
阅读全文
[置顶]C# 邮件发送方法【webMail方式】
摘要:在C#中发送邮件的方式有2种,一种是使用webmail方式进行发送,另外一种就是采用netmail发送的方式,在采用这2种方式发送邮件时,如果采用公用的邮件服务器(如126邮件服务器,Sina的邮件服务器)都是需要授权认证才能够发送,如果是采用Gmail的话,还会有每天发送邮件的数量等限制。这2种方式是经过我测试通过了的代码,只需要将邮件的用户名和密码修改成自己的即可,同时也可以修改邮件服务器,改成自己配置的邮件服务器。/// <summary> /// 发送Email(带验证,采用微软新推荐的方式) /// </summary> /// <param name=
阅读全文
[置顶] C# 邮件发送方法【webMail方式】
摘要:在C#中发送邮件的方式有2种,一种是使用webmail方式进行发送,另外一种就是采用netmail发送的方式,在采用这2种方式发送邮件时,如果采用公用的邮件服务器(如126邮件服务器,Sina的邮件服务器)都是需要授权认证才能够发送,如果是采用Gmail的话,还会有每天发送邮件的数量等限制。这2种方式是经过我测试通过了的代码,只需要将邮件的用户名和密码修改成自己的即可,同时也可以修改邮件服务器,改成自己配置的邮件服务器。/// <summary> /// 发送Email(带验证,采用微软新推荐的方式) /// </summary> /// <param name=
阅读全文
C# 邮件发送方法【webMail方式】
摘要:在C#中发送邮件的方式有2种,一种是使用webmail方式进行发送,另外一种就是采用netmail发送的方式,在采用这2种方式发送邮件时,如果采用公用的邮件服务器(如126邮件服务器,Sina的邮件服务器)都是需要授权认证才能够发送,如果是采用Gmail的话,...
阅读全文
[C#]分享一个以前的项目使用的DataBaseAccess类
摘要:最近在整理以前的资料时,看到了以前我们在项目中经常用的一个数据库访问类,虽然现在已经可以用代码生成工具生成比较完整的数据库访问类,但是这个类在我们以前的项目中久经考验,所以我觉得还是比较好用,废话不多说了,上代码://======================================================================//// filename : DataBaseAccess.cs//// description: 1. data base access operation class DataBaseAccess.// 2. data base acc
阅读全文
[C#]分享一个以前的项目使用的DataBaseAccess类
摘要:最近在整理以前的资料时,看到了以前我们在项目中经常用的一个数据库访问类,虽然现在已经可以用代码生成工具生成比较完整的数据库访问类,但是这个类在我们以前的项目中久经考验,所以我觉得还是比较好用,废话不多说了,上代码: //====================...
阅读全文
执行命令类
摘要:最近经常要在C#中使用cmd命令,因此就封装了几个方法来使用。代码如下: /// /// 执行cmd.exe命令 /// ///命令文本 /// 命令输出文本 public s...
阅读全文
执行命令类
摘要:最近经常要在C#中使用cmd命令,因此就封装了几个方法来使用。代码如下:/// /// 执行cmd.exe命令 /// ///命令文本 /// 命令输出文本 public static string ExeCommand(string commandText) { return ExeCommand(new string[] { commandText }); } /// /// 执行多条cmd.exe命令 /// ///命令文本数组 /// 命令输出文本 public static string ExeCommand(string[] commandTexts) { Process ...
阅读全文
C#中生成验证码的类
摘要:在很多网站中都会用到验证码的功能来防止非法注册用户,下面我就提供一个生成验证码的类。 代码如下: using System; using System.Data; using System.Configuration; using System.Collec...
阅读全文
C#中生成验证码的类
摘要:在很多网站中都会用到验证码的功能来防止非法注册用户,下面我就提供一个生成验证码的类。代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;u
阅读全文
C# 在winform画面上点击某个区域造成按钮按下效果的方法
摘要:在Winform的窗体中,存在背景图的情况下,不想在画面上加入按钮,只希望利用窗体自身的几个事件来实现按钮按下的效果,怎么样实现呢?其实这也不难,只需要按照下列步骤即可实现,首先确定要按下的几个区域的坐标点和大小,准备好按下和弹出的图片,将这些坐标点和大小组成一个个区域(使用GraphicsPath来完成)。然后使用几个Flage标志,标识是否区域的按下。具体实现的代码如下:/// <summary> /// 实时监控,酒位展示,酒柜介绍,网络订购4个按钮的位置参数 /// </summary> int[,] BtnLocation = new int[4, 2]{{6
阅读全文
C# 在winform画面上点击某个区域造成按钮按下效果的方法
摘要:在Winform的窗体中,存在背景图的情况下,不想在画面上加入按钮,只希望利用窗体自身的几个事件来实现按钮按下的效果,怎么样实现呢? 其实这也不难,只需要按照下列步骤即可实现,首先确定要按下的几个区域的坐标点和大小,准备好按下和弹出的图片,将这些坐标点和大小 ...
阅读全文
【C#】 Socket通讯客户端程序
摘要:这段时间一直在优化Socket通讯这块,经常和Socket打交道,现在分享给大家一个小的案例, 代码如下: byte[] m_dataBuffer = new byte [10]; IAsyncResult m_result; ...
阅读全文
【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 (...
阅读全文
[置顶] 【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 (...
阅读全文
java和C#之间SOCKET通信的问题
摘要:java和C#之间SOCKET通信的问题 一、服务器端(使用java编写) /** * 监听客户端的请求 * */ private static void socketService() { ExecutorService exec = Executors.n...
阅读全文
java和C#之间SOCKET通信的问题
摘要:java和C#之间SOCKET通信的问题一、服务器端(使用java编写)/*** 监听客户端的请求**/private static void socketService(){ExecutorService exec = Executors.newCachedThreadPool();try{ ServerSocket server=new ServerSocket(5678); int i = 1; while(true) { MyLogManager.InfoLog(log, null,"等待连接第"+i+"个用户..."); try { Socke
阅读全文
C#将jpg格式图片合成到bmp格式图片中
摘要:在C#中,有时为解决几个图片显示的问题,比如有一张背景图,还有一直是要显示在背景图上的图片,如何能将这2张图片合成一张图片显示呢? 下面的例子提供了这样一个解决的方法,代码如下: //strwinepath酒的图片 //strBackPic ...
阅读全文
C#将jpg格式图片合成到bmp格式图片中
摘要:在C#中,有时为解决几个图片显示的问题,比如有一张背景图,还有一直是要显示在背景图上的图片,如何能将这2张图片合成一张图片显示呢?下面的例子提供了这样一个解决的方法,代码如下://strwinepath酒的图片//strBackPic 背景图片private void TestPaint(string strwinepath,string strWineDetailBackPic){ //获取酒的图片,酒的图片格式为jpg格式 Image imgWine = Image.FromFile(strwinepath); //获取背景图片,背景图片格式也为jpg格式,现在读取为bmp格式 Bi...
阅读全文
使用Joson的格式字符串在Socket中通讯时数据格式的转换
摘要:最近在测试通讯模块时,发现新增的Android平台发送过来的数据,服务器端总是收不到,后来发现java中数据类型有些和C#中的不一样,比如C#中byte对应范围是0~255,而Java中则对应的是-128~127,因此直接按照通讯协议传序列化的二进制流总是出现...
阅读全文
使用Joson的格式字符串在Socket中通讯时数据格式的转换
摘要:最近在测试通讯模块时,发现新增的Android平台发送过来的数据,服务器端总是收不到,后来发现java中数据类型有些和C#中的不一样,比如C#中byte对应范围是0~255,而Java中则对应的是-128~127,因此直接按照通讯协议传序列化的二进制流总是出现问题。考虑到这一点在Android那一端才用Joson序列化发送到服务端,而在服务端对接收到的数据进行反序列化后转化为对象。同时在服务端进行发送数据时,转换为Joson格式后,序列化为二进制流发生给Android端。废话不多说了,上代码://Joson格式的二进制流转换为对象public static T JosonDeSerialize
阅读全文
[置顶] 使用Joson的格式字符串在Socket中通讯时数据格式的转换
摘要:最近在测试通讯模块时,发现新增的Android平台发送过来的数据,服务器端总是收不到,后来发现java中数据类型有些和C#中的不一样,比如C#中byte对应范围是0~255,而Java中则对应的是-128~127,因此直接按照通讯协议传序列化的二进制流总是出现问题。考虑到这一点在Android那一端才用Joson序列化发送到服务端,而在服务端对接收到的数据进行反序列化后转化为对象。同时在服务端进行发送数据时,转换为Joson格式后,序列化为二进制流发生给Android端。废话不多说了,上代码://Joson格式的二进制流转换为对象public static T JosonDeSerialize
阅读全文
AMF序列化为对象和AMF序列化为二进制字节流
摘要:在使用Flex作为页面前端驱动Socket通讯时,一般使用AMF格式来进行的发送和接收,因此就要涉及到不同的数据格式的转换。下面提供了AMF序列化为对象和AMF序列化为二进制字节流的方法,代码如下://将AMF格式字节流转换为对象public static T AMF_Deserializer<T>(byte[] buffer,int length) { MemoryStream stream = new MemoryStream(buffer,0,length); ByteArray byteArray = new ByteArray(stream); object obj =
阅读全文
[置顶] AMF序列化为对象和AMF序列化为二进制字节流
摘要:在使用Flex作为页面前端驱动Socket通讯时,一般使用AMF格式来进行的发送和接收,因此就要涉及到不同的数据格式的转换。下面提供了AMF序列化为对象和AMF序列化为二进制字节流的方法,代码如下://将AMF格式字节流转换为对象public static T AMF_Deserializer<T>(byte[] buffer,int length) { MemoryStream stream = new MemoryStream(buffer,0,length); ByteArray byteArray = new ByteArray(stream); object obj =
阅读全文
AMF序列化为对象和AMF序列化为二进制字节流
摘要:在使用Flex作为页面前端驱动Socket通讯时,一般使用AMF格式来进行的发送和接收,因此就要涉及到不同的数据格式的转换。 下面提供了AMF序列化为对象和AMF序列化为二进制字节流的方法,代码如下: //将AMF格式字节流转换为对象 pu...
阅读全文
字节流转换为对象的方法
摘要:今天在对字节流转换为对象时,发现总是会报错,后来查明原因是要将流的Index设置为起始位置,因为序列化后Index移到了流的末尾,所以才报错了。代码如下:publicstaticT DeSerializer<T>(byte[]buffer,intlength){try{stringmTextReceived = Encoding.UTF8.GetString(buffer,0,length);SocketDataPack sdp =GetSocketDataPackFromString(mTextReceived); //MemoryStream对象提供了无需进行IO就可以创建St
阅读全文
字节流转换为对象的方法
摘要:今天在对字节流转换为对象时,发现总是会报错,后来查明原因是要将流的Index设置为起始位置,因为序列化后Index移到了 流的末尾,所以才报错了。代码如下: public static T DeSerializer(byte[] buffer, int...
阅读全文
用C#获取CPU编号、硬盘编号等系统有关环境、属性
摘要:用C#获取CPU编号、硬盘编号等系统有关环境、属性如果利用C#获取系统有关环境和属性,这个也是在网上问得比较多的问题,不过大部分只有提问没有回答,最近正好想做有关方面的东西,整理了一下,提供给大家,希望能给大家提供参考意见:首先需要定义几个结构(struct) ,便于DllImport作为返回参数调用。以下是代码:CpuInfo.csusing System;using System.Configuration;using System.Runtime.InteropServices;/**//*** LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序* 注意:
阅读全文
用C#获取CPU编号、硬盘编号等系统有关环境、属性
摘要:用C#获取CPU编号、硬盘编号等系统有关环境、属性 如果利用C#获取系统有关环境和属性,这个也是在网上问得比较多的问题,不过大部分只有提问没有回答,最近正好想做有关方面的东西,整理了一下,提供给大家,希望能给大家提供参考意见: 首先需要定义几个结构(st...
阅读全文
别把紧张情绪带回家 下班后的10个最佳放松法
摘要:在经历了一天激烈的打拼后,不少职场中人会将工作场所的紧张情绪带回家中,回到家中仍然无法放松。如果发生这种情况,试试以下10种调节方法,它们能够帮助你从办公状态调整到居家状态: 1、将工作留在办公室 下班时尽量不要将工作带回家中(即使是迫不得已,每周在家里工作不能超过两个晚上)。 2、提前为下班做准备 在下班两个小时前列一个清单,弄清哪些是你今天必须完成的工作、哪些工作可以留待明天。这样你就有充足的时间来完成任务,从而减少工作之余的担心。 3、在住所门口放置一个杂物盒 购买或制作一个大篮子或是木头盒,把它放在住所门口。走进家门后立即将公文包或是工具袋放到里面,第二天出门之前绝不去碰它。...
阅读全文
别把紧张情绪带回家 下班后的10个最佳放松法
摘要:在经历了一天激烈的打拼后,不少职场中人会将工作场所的紧张情绪带回家中,回到家中仍然无法放松。如果发生这种情况,试试以下10种调节方法,它们能够帮助你从办公状态调整到居家状态: 1、将工作留在办公室 下班时尽量不要将工作带回家中...
阅读全文
C#中Socket服务端代码分享
摘要:最近在对项目中Socket通讯中的服务端代码进行优化,保证能接受尽可能多的客户端的连接,并且不会丢掉连接,不会掉数据包。经过一段时间的反复测试和修改,终于达到了这一要求。服务端代码采用了异步通讯的方式,并使用ManualResetEvent来对线程进行控制。在...
阅读全文
[置顶]C#中Socket服务端代码分享
摘要:最近在对项目中Socket通讯中的服务端代码进行优化,保证能接受尽可能多的客户端的连接,并且不会丢掉连接,不会掉数据包。经过一段时间的反复测试和修改,终于达到了这一要求。服务端代码采用了异步通讯的方式,并使用ManualResetEvent来对线程进行控制。在程序中,ManualResetEvent 的使用很关键。 ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态,此线程可被视为控制 M
阅读全文
[置顶] C#中Socket服务端代码分享
摘要:最近在对项目中Socket通讯中的服务端代码进行优化,保证能接受尽可能多的客户端的连接,并且不会丢掉连接,不会掉数据包。经过一段时间的反复测试和修改,终于达到了这一要求。服务端代码采用了异步通讯的方式,并使用ManualResetEvent来对线程进行控制。在程序中,ManualResetEvent 的使用很关键。 ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态,此线程可被视为控制 M
阅读全文
有理想的程序员必须知道的15件事
摘要:作为程序员,要取得非凡成就需要记住的15件事。 1.走一条不一样的路 在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。 2.了解自己的公司 以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看,...
阅读全文
有理想的程序员必须知道的15件事
摘要:作为程序员,要取得非凡成就需要记住的15件事。1.走一条不一样的路在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。2.了解自己的公司以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看,这一点所言不虚。不同公司的运营模式差异极大。如果你理解企业的运营模式,那你就不一样了!在这家公司中(或者对客户而言),你是参与业务运营的资产,你的工作能直接产生效益!3.与最优秀的人为伍很早以前,我喜欢打篮球,被分配到一个水平比较高的队里。一开始适应的确很困难,但环境的压力越大(重大比赛),我的长进也就越明显。每个领域其实都一样:你周围人的水平(以及对
阅读全文
[置顶] C#获取当前运行的源代码的文件名和当前源代码的行数的方法
摘要:在C#中记录日志时,为了以后查找错误或者跟踪的方便,最好能记录下出错的源代码的文件名和出错的源代码的行数。这2个方法如下:/// <summary> /// 取得当前源码的哪一行 /// </summary> /// <returns></returns> public static int GetLineNum() { System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true); return st.GetFrame(0).GetFileLineNu
阅读全文
C#获取当前运行的源代码的文件名和当前源代码的行数的方法
摘要:在C#中记录日志时,为了以后查找错误或者跟踪的方便,最好能记录下出错的源代码的文件名和出错的源代码的行数。 这2个方法如下: /// /// 取得当前源码的哪一行 /// /// publi...
阅读全文
C#获取CPU占用率、内存占用、磁盘占用、进程信息
摘要:以下是代码片段: using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.IO; u...
阅读全文
C#获取CPU占用率、内存占用、磁盘占用、进程信息
摘要:以下是代码片段:usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.IO;usingSystem.Text;usingSystem.Management;usingSystem.Runtime.InteropServices;namespaceLemony.SystemInfo{//////系统信息类-获取CPU、内存、磁盘、进程信息///publicclassSystemInfo{privateintm_ProcessorCount=0;//
阅读全文
Stopwatch计时器、秒表 C#
摘要:.NET2.0也提供了这样一个秒表:Stopwatch类,它可以比较精确地测量时间。 速度测试: 软件的性能和可测性是一个复杂的主题。要确保应用程序能够满足用户的期望,就需要在开发周期内考虑它的性能和可测性。这在设计阶段至关重要,一个糟糕的设计几乎肯定会导致...
阅读全文
Stopwatch计时器、秒表 C#
摘要:.NET2.0也提供了这样一个秒表:Stopwatch类,它可以比较精确地测量时间。 速度测试:软件的性能和可测性是一个复杂的主题。要确保应用程序能够满足用户的期望,就需要在开发周期内考虑它的性能和可测性。这在设计阶段至关重要,一个糟糕的设计几乎肯定会导致糟糕的用户体验。然而,仅仅有好的设计也不能保证程序能够高效地运行,最终代码的质量同样重要。量度一个运行时间较长的例程相当简单。如果一个过程会持续几分钟,只要一块腕表就可以记录它的时间了。比如一个执行时间为两分钟的过程,10%的改善能够节省12秒,这是很容易去确定的。而如果要测量一个非常短暂的过程,就要考虑更好的精确性了。比如有一些很小的例程,
阅读全文
SYSTEM32 下的几乎所有文件的简单说明
摘要:aclui.dll .....Security Descriptor Editor,没有它,注册表编缉器会无法运行ACTIVEDS.DLL .....(ADs 路由层 DLL). 没有它, 打开事件查看器会出错ADSLDPC.DLL ......ADs LDAP 提供程序 C DLLADVAPI32.DLL .....(高级 Windows 32 基本 API)...这个 avicap32.dll 用于将从数码摄像头捕获的视频另存为 AVI 格式. 如果你正在录制视频或是正在视频聊天, 那么你将服务终止这个进程ADVPACK.DLL ......(Advpack Library). Windo
阅读全文
SYSTEM32 下的几乎所有文件的简单说明
摘要:aclui.dll .....Security Descriptor Editor,没有它,注册表编缉器会无法运行 ACTIVEDS.DLL .....(ADs 路由层 DLL). 没有它, 打开事件查看器会出错 ADSLDPC.DLL ......ADs L...
阅读全文
用C#实现智能设备上的NotifyIcon类
摘要:前几天有网友问.NET CF中怎么实现NotifyIcon,我这才知道原来.NET CF并没有提供NotifyIcon控件。 于是偶想PC上可以用Shell_NotifyIcon和MessageWindow来实现托盘图标,只是不知道.NET CF支持不...
阅读全文
用C#实现智能设备上的NotifyIcon类
摘要:前几天有网友问.NET CF中怎么实现NotifyIcon,我这才知道原来.NET CF并没有提供NotifyIcon控件。 于是偶想PC上可以用Shell_NotifyIcon和MessageWindow来实现托盘图标,只是不知道.NET CF支持不支持这两个东东了。仔细看了一下.NET CF中可疑的命名空间,没想到在Microsoft.WindowsCE.Forms命名空间里面竟然有一个MessageWindow 类,太好了,只剩下一个Shell_NotifyIcon 函数了。接着 在Window CE的SDK的帮助文件里,又发现Window CE Platform API已经包含了She
阅读全文
C#中为多线程变量提供原子操作的类Interlocked
摘要:最近在工作中经常用到了多线程来处理问题,但是关于多线程共享变量的问题就需要解决了。还好.net为我们提供了InterLocked类,它可是微软专门为多个线程共享的变量提供原子操作的类。我们经常用到的方法之一是Interlocked.Increment()和Interlocked.Decrement()。如下是MSDN上关于这2个方法的介绍:Increment 和Decrement 方法递增或递减变量并将结果值存储在单个操作中。在大多数计算机上,增加变量操作不是一个原子操作,需要执行下列步骤:将实例变量中的值加载到寄存器中。增加或减少该值。在实例变量中存储该值。如果不使用 Increment .
阅读全文
C#中为多线程变量提供原子操作的类Interlocked
摘要:最近在工作中经常用到了多线程来处理问题,但是关于多线程共享变量的问题就需要解决了。还好.net为我们提供了InterLocked类,它可是微软专门为多个线程共享的变量提供原子操作的类。我们经常用到的方法之一是Interlocked.Inc...
阅读全文
用C#编程删除系统自带游戏
摘要:摘要:本文通过编程删除了windows2000中的四个系统自带的游戏,在编写过程中用树状视图和列表视图方式显示了windows2000中隐含的DllCache目录及该目录下的文件。正文近来,许多企业、机关为控制员工上班时间玩游戏,制定了许多制度,但并没有将游戏删除,尤其是系统自带的游戏程序,自从windows 2000采用了动态缓存目录的保护措施以来,我们通常用原来的方法在删除系统自带游戏几秒后,游戏又可以使用了。虽然有些文章介绍了那是由于微软系统的出于自身安全,在DllCache目录下进行了备份处理,但我们在通常情况下显示了所有隐藏文件后,仍然无法见到system32下的DllCache目录
阅读全文
用C#编程删除系统自带游戏
摘要:摘要:本文通过编程删除了windows2000中的四个系统自带的游戏,在编写过程中用树状视图和列表视图方式显示了windows2000中隐含的DllCache目录及该目录下的文件。 正文 近来,许多企业、机关为控制员工上班时间玩游戏,制定了许多制度,但并没...
阅读全文
C#中在panel上写文字并换行的方法
摘要:前段时间在优化项目时,突然想到在Panel上显示文字并换行的问题。当有一段文字需要显示并且最好是显示在Panel。于是我就动手写了下,做了一个Demo程序,现在将主要的代码贴出来,如果存在不足还希望能够帮忙提意见,以补充完善. /// ///...
阅读全文
C#中在panel上写文字并换行的方法
摘要:前段时间在优化项目时,突然想到在Panel上显示文字并换行的问题。当有一段文字需要显示并且最好是显示在Panel。于是我就动手写了下,做了一个Demo程序,现在将主要的代码贴出来,如果存在不足还希望能够帮忙提意见,以补充完善.///<summary>///显示文本时需要用到的方法///</summary>intlineDistance =5;//行间距Graphics gcs;intiHeight =0;string[]nrLine;string[]nrLinePos;intsearchPos =0;intsection =1;intsectionHeight =10;
阅读全文
asp.net(c#)学习网站大收藏
摘要:1. 大名鼎鼎的CodeGuru 号称代码领头羊 非常著名的关于程序开发的网站,大量的资料.强烈推荐 http://www.codeguru.com/ - 外文 2. Developer.com: An EarthWeb site http://www.developer.com/ - 外文 3. programming resources in2009-07-18 03:32:23|分类:C#学习资料 |字号订阅1. 大名鼎鼎的CodeGuru 号称代码领头羊 非常著名的关于程序开发的网站,大量的资料.强烈推荐 http://www.codeguru.com/ - 外文...
阅读全文
asp.net(c#)学习网站大收藏
摘要:1. 大名鼎鼎的CodeGuru 号称代码领头羊 非常著名的关于程序开发的网站,大量的资料.强烈推荐 http://www.codeguru.com/ - 外文 2. Developer.com: An EarthWeb site http:...
阅读全文
C#中给Label控件设置BackgroundImage属性
摘要:在C#中,默认情况下是无法给Label设置BackgroundImage属性的,只有Image这个属性,但是在某些特殊的情况下我们又需要设置Label的BackgroundImage属性,因此我们必须对label控件加以改造。Label是继承自Control类...
阅读全文
C#中给Label控件设置BackgroundImage属性
摘要:在C#中,默认情况下是无法给Label设置BackgroundImage属性的,只有Image这个属性,但是在某些特殊的情况下我们又需要设置Label的BackgroundImage属性,因此我们必须对label控件加以改造。Label是继承自Control类的,而Control类是有BackgroundImage这个属性的,Label也有这个属性,只是在VS中我们无法看到而已,微软做了下处理,不希望我们在属性窗口中能够直接设置它。实际上它有很多属性在属性面板中没有显示而已,如下图示:因此我们可以对Label控件代码稍加改写即可,代码如下图所示,我们写个控件继承Label,重写它的2个方法即可
阅读全文
[置顶] C#中给Label控件设置BackgroundImage属性
摘要:在C#中,默认情况下是无法给Label设置BackgroundImage属性的,只有Image这个属性,但是在某些特殊的情况下我们又需要设置Label的BackgroundImage属性,因此我们必须对label控件加以改造。Label是继承自Control类的,而Control类是有BackgroundImage这个属性的,Label也有这个属性,只是在VS中我们无法看到而已,微软做了下处理,不希望我们在属性窗口中能够直接设置它。实际上它有很多属性在属性面板中没有显示而已,如下图示:因此我们可以对Label控件代码稍加改写即可,代码如下图所示,我们写个控件继承Label,重写它的2个方法即可
阅读全文
|
|