02 2014 档案
摘要:1、使用FileStream读写文件文件头:using System;using System.Collections.Generic;using System.Text;using System.IO;读文件核心代码:byte[] byData = new byte[100];char[] charData = new char[1000];try{FileStream sFile = new FileStream("文件路径",FileMode.Open);sFile.Seek(55, SeekOrigin.Begin);sFile.Read(byData, 0, 10
阅读全文
摘要:using System;usingSystem.Collections; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Web; usingSystem.Web.SessionState; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingSystem.Web.UI.HtmlControls; namespaceWebApplication1.验证码 { /// ///完美随机验证码0.10 ///Verion:0.1
阅读全文
摘要:注意:转换为ICO后效果不好.源代码:using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Drawing.Imaging;using System.IO;namespace paomiangege{ public class ImageConvert { private int ICON_W = 64; private int ICON_H = 64; public ImageConvert() { } //fileinpath,origaly pic
阅读全文
摘要:集合>哈希表类HashtableHashtable一种键值对的集合 ,哈希表内部的排列是无序的,而且哈希表没有提供排序方法。集合>哈希表类Hashtable>构造普通哈希表代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Collections;namespaceConsoleA
阅读全文
摘要:1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 :1var t = new Object(); 2t.Abc = ‘something’; 3t.Value = 243;现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoObject类型。如下例:1static void Main(string[] args) 23dynamic t = new ExpandoObject(); 4t.Abc = "abc"5t.Value = 10000; 6Console.WriteLine("t'
阅读全文
摘要:C#格式化数值结果表字符说明示例输出C货币string.Format("{0:C3}", 2)$2.000D十进制string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规string.Format("{0:G}", 2)2N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00X十六进制string.Format("{0:X000}", 12)Cstring.Format("{0:000.
阅读全文
摘要:===================================================注:很久没有发文了,贴一篇新文吧。从Word直接贴过来的,没仔细排版,诸位海涵。有关DLR和C# 4动态特性的详细介绍,请参看本人拙著《.NET 4.0面向对象编程揭秘(应用篇)》,目前该书正处于编辑出版流程中,估计12月上市。与此书相关的技术资源,将陆续发布于博客园与CSDN的本人博客。=====================================================================================金旭亮 近几年来,在TIOBE公司每个
阅读全文
摘要:C#引入了readonly修饰符来表示只读域,const来表示不变常量。顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?只读域只能在初始化--声明初始化或构造器初始化--的过程中赋值,其他地方不能进行对只读域的赋值操作,否则编译器会报错。只读域可以是实例域也可以是静态域。只读域的类型可以是C#语言的任何类型。但const修饰的常量必须在声明的同时赋值,而且要求编译器能够在编译时期计算出这个确定的值。const修饰的常量为静态变量,不能够为对象所获取。const修饰的值的类型也有限制,它只能为下列类型之一(或能够转换为下列类型的):sbyte, byte, short
阅读全文
摘要:The FindControl method of the System.Web.UI.Control class appears simple enough to use. In fact, the MSDN description of the method is one simple sentence: Searches the current naming container for the specified server control.The key to using FindControl is to invoke the method on the correct conta
阅读全文
摘要:原题如下:12(a桶 满的 有12斤油)斤桶里 取出6斤油 有 另外有8斤(b桶)和5斤(c桶)两个空桶 让程序输出取出这6斤油的步骤现在实现的算法可以配参数(定义有几个桶,初始有多少油,要得到多少油,都可以配),并且找出任意(多条线路或者找不到)满足条件的倒油线路图:运行效果:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.
阅读全文
摘要:一.使用OleDb,这个法子好像不大好使.容易读错.引用System.Data.OleDb;/**///////返回Excel数据源//////文件路径///staticpublicDataSetExcelToDataSet(stringfilename){DataSetds;stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;"+"ExtendedProperties=Excel8.0;"+"datasource="+filename;OleDbConnectionmyConn=newOle
阅读全文
摘要:1///2///提取字符串中的数字字符串3///4///5///6publicstaticstringIsNumber(Stringstr)7{8stringreturnStr=string.Empty;9for(inti=0;i<str.Length;i++)10{11if(Char.IsNumber(str,i)==true)12{13returnStr+=str.Substring(i,1);14}15else16{17if(str.Substring(i,1)=="A"||str.Substring(i,1)=="")18{19return
阅读全文
摘要:MFC 生成本机代码,自然是很快。可是,消息循环,减缓了界面显示速度。winform 封装了 win32 的api,多次进行P/invoke 操作 (大部分使用p/invoke操作封装),速度慢 。wpf是一种新的模型,不再使用win32 模型,自己新建模型,使用dx 作为新的显示技术,直接访问驱动程序,加快了运行速度,可是,这种模型,需要支持dx 9 的显卡,硬件要求高(你还能找到现代机器不支持dx9 的吗?)开发效率上,MFC<WPF<winform 尽管MFC开发界面执行效率高但是开发效率低,作为现在的项目开发来说时间跟开发效率往往能决定项目的成败,所以除非有特别的需求,否则
阅读全文
摘要:这一段公司有个项目,客户要求上传的图片要带上自定义的水印。以前也经常和朋友讨论C#图片水印方面的问题,但是从来没有实际操作过。所以,借这次项目的机会也研究了一下C#图片水印的功能!本人参考的是discuz论坛中的代码。这种方法是直接把要上传的图片先转化成System.Drawing.Image,而不用保存到服务器端的磁盘上,然后加上水印重新绘制,再保存到服务器端的磁盘上,下面就拿出来晒晒:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1/
阅读全文
摘要:在做WinForm界面布局时,菜单和工具栏必不可少!但是MenuStrip和ToolStrip不能够对边框的样式直接设置,如果想实现菜单和工具栏之间的分割线就不容易实现;今天查阅了一下msdn找到了一个方法,和大家一块分享,如果有更好的办法的话可以贴出来,共同进步; 首先,创建一个CustomProfessionalRenderer类(类名可随便定义)继承自ToolStripProfessionalRenderer。代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighli
阅读全文
摘要:using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Drawing;namespace Ne
阅读全文
摘要:C#中new和override是继承中经常用到的两个关键字,但是往往有时候容易把这两个关键字的作用搞混淆。newC# new关键字表示隐藏,是指加上new关键字的属性或函数将对本类和继承类隐藏基类的同名属性或函数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicclassA{publicvirtualvoidMethod(){Console.WriteLine("ThisMethodinClassA!");}}p
阅读全文
摘要:对属性或索引器使用访问修饰符受以下条件的制约:· 不能对接口或显式接口成员实现使用访问器修饰符。· 仅当属性或索引器同时具有 set 和 get 访问器时,才能使用访问器修饰符。这种情况下,只允许对其中一个访问器使用修饰符。· 如果属性或索引器具有 override 修饰符,则访问器修饰符必须与重写的访问器的访问器(如果有的话)匹配。· 访问器的可访问性级别必须比属性或索引器本身的可访问性级别具有更严格的限制。· public class Parent· {· public virtual int TestProperty&
阅读全文
摘要:请先下载http://asprise.com/product/ocr/index.php?lang=csharp 的SDK.里面提供了详细的OCR方法,如下:将发现图像框picbVeryfyCode里的文字和文本框.txtVeryfyCode.Text是一致的.数字识别率我碰到的几乎是100%http://blog.csdn.net/crabo/[DllImport("AspriseOCR.dll")]static extern string craboOCR(string file, int type);private void GetVeryfyCode(){ if(F
阅读全文
摘要:将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。using System;using System.Data;using System.Windows.Forms;using System.Data.OleDb;namespace WindowsApp
阅读全文
摘要:1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedTextBox 11 cdr MonthCalendar 12 icn NotifyIcon 13 nud NumeircUpDown 14 pic PictureBox 15 prg ProgressBar 16 rdo RadioButton 17 rtx RichTextBox 18
阅读全文
摘要:在c#3.0之前,想要为内置的类型添加一个方法显然是不可能的。但是,c#3.0提供的扩展方法可以解决这个问题。具体代码如下:public static class ExtendedClass {public static string ToKevin(this string str) {return "hello,kevin"; } }public class Program {static void Main(string[] args) { DateTime dt = DateTime.Now;string ...
阅读全文
摘要:本节说明对象的创建、初始化和销毁过程。本节介绍下列主题: l 类构造函数l 结构构造函数l 析构函数类构造函数本节将讨论三种类构造函数:类构造函数的类型注释实例用于创建并初始化类的实例。私有在类之外不可访问的特殊类型实例构造函数。无法用私有构造函数来实例化类。静态在创建第一个实例或引用任何静态成员之前,将自动调用这种构造函数来初始化类。无法直接调用这种构造函数。备注 (1) 实例构造函数 创建新对象时将调用类构造函数,例如: Point myPoint = new Point(); 一个类可以有多个构造函数。例如,可以声明一个不带参数的构造函数(如 Point())和一个带参数的构造函数(如
阅读全文
摘要:C#中提供的与注册表相关的最主要的是两个类:Registry 和 RegistryKey,这两个类属于Microsoft.Win32命名空间Registry类包含5个公共的静态域,分别代表5个基本主键分别是:Registry.ClassesRootRegistry.CurrentUserRegistry.LocalMachineRegistry.UsersRegistry.Current Config这5个类分别对应注册表的第二级目录的五个预定义主键RegistryKey类中提供了对注册表操作的方法CreateSubKey //建立一个子键OpenSubKey //打开一个子键DeleteKe
阅读全文
摘要:结构是一种值类型,通常用来封装一组相关的变量,结构中可以包含构造函数、常量、字段、方法、属性、运算符、事件和嵌套类型等,但是如果同时包含上述几个类型则应该考虑使用类。结构的特点:·结构式值类型·向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。·结构的实例化可以不适用new运算符·结构可以声明构造函数,但他们必须带参数·一个结构不能从另一个结构或类继承·结构可以实现接口·在结构中初始化实例字段是错误的。聊了些特点,下面举个小例子大家参考下:using System;using System.Collectio
阅读全文
摘要:Csharp4.0与以往版本基础体现了强大的性能优势,主要体现在以下四个方面:1. 通过委托成员来实现接口在C# 4.0中可以通过委托来实现某个成员的接口,例如下面的代码:public class Foo : IList { private List _Collection implements IList; public Foo() { _Collection = new List(); } }被封闭的成员可以用委托实现一个或多个接口,多个接口用逗号分隔。这么做可以去掉很多冗余的代码,就像上面的示例,不再需要在封闭类(Foo类)上写一大堆方法来将接口实现交给成员变量,接口的实现...
阅读全文
摘要:互斥进程(程序),简单点说,就是在系统中只能有该程序的一个实例运行.现在很多软件都有这功能,如Maxthon可以设置为"只允许打开一个窗体",还有Bitcomet等.我也是看到这些软件的这个功能才来研究这个问题的.要实现程序的互斥,通常有三中方式,下面用C#语言来实现:实现方式一:使用线程互斥变量.通过定义互斥变量来判断是否已运行实例.C#实现如下:把program.cs文件里的Main()函数改为如下代码:staticvoidMain(){boolrunone;System.Threading.Mutexrun=newSystem.Threading.Mutex(true
阅读全文
摘要:方案(一)脚本:调用示例: 用户名: 密码: --------------------------------------------------------------------------------------------------------------------------------------------方案(二)[ 方法一]前台代码:后台代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System...
阅读全文
摘要:using System.Runtime.InteropServices;引入键盘事件函数[DllImport("user32.dll")]public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 参数: bVk:定义一个虚拟键码。键码值必须在1~254之间。 bScan:定义该键的硬件扫描码。 dwFlags:定义函数操作的名个方面的一个标志位集。应用程序可使用如下一些预定义常数的组合设置标志位。 KEYEVENTF_EXETENDEDKEY:若指定
阅读全文
摘要:1.对DBNull的解释: 该类用于指示不存在某个已知值(通常在数据库应用程序中)。 在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。 该类还可以用于在 COM Interop 中区分 VT_NULL 变量(与空对象关联)和 VT_EMPTY 变量(与 DBNull.Value 实例关联)。 DBNull 从不等于任何值。 DBNull 是一个单独的类,这意味着该类只能存在一个实例。这个唯一的实例是 DBNull.Valu...
阅读全文
摘要:格式化日期和数字的字符串经常要用到这个, 就把帮助里面的东西大概整理了一些列在这里了.下表描述了用来格式化 DateTime 对象的标准格式说明符。格式说明符 名称 说明 d 短日期模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。 D 长日期模式 显示由与当前线程关联的 DateTimeFormatInfo.LongDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。 t 短时间模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortTimePatte
阅读全文
摘要:usingSystem.Drawing;publicpartialclassPub_validcode:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.CreateCheckCodeImage(GenerateCheckCode());}//生成随机数privatestringGenerateCheckCode(){intnumber;charcode;stringcheckCode=String.Empty;System.Randomrandom=newRandom();for(inti=0;if
阅读全文
摘要:方案一:通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQLServer,这种方法的优点是非常的灵活,可以对Excel表中的各个单元格进行用户所需的操作。openFileDialog=newOpenFileDialog(); openFileDialog.Filter="Excelfiles(*.xls)|*.xls"; if(openFileDialog.ShowDialog()==DialogResult.OK) { FileInfofileInfo=newFileInfo(openFileDialog.FileName); stringfil
阅读全文
摘要:近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下。一、添加引用和命名空间添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll代码中添加引用using Microsoft.Office.Interop.Excel;
阅读全文
摘要:1.获取Return返回值程序代码//存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());conn.Open();SqlCommand MyCommand = new SqlCommand("MYSQL", conn);MyCommand.Comman
阅读全文
摘要:首先访问一个类的私有成员不是什么好做法。大家都知道私有成员在外部是不能被访问的。一个类中会存在很多私有成员:如私有字段、私有属性、私有方法。对于私有成员造访,可以套用下面这种非常好的方式去解决。private string name;public string Name{ get return name; } set { name = value; }} 但是有时候,源代码是别人的,只提供给你dll。或者你去维护别人的代码,源代码却有丢失。这样的情况或许你想知道私有成员的值,甚至去想直接调用类里面的私有方法。那怎么办呢?在.net中访问私有成...
阅读全文
摘要:public class IpHelper { // 核心方法:IP搜索 /// /// 查找IP所属地区,确保web.config存在IPData或者BackIpData配置节 /// /// IP /// public static IpLocation GetIpLocation(string ips) { string fn =HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["IPData"]); string backData = HttpContext.Current.Ser
阅读全文
摘要://////获取指定月份指定周数的开始日期//////年份///月份///周数///privateDateTimeGetStartDayOfWeeks(intyear,intmonth,intindex){if(year9999){MessageBox.Show("年份超限");returnDateTime.MinValue;}if(month12){MessageBox.Show("月份错误");returnDateTime.MinValue;}if(index0)dayOfWeek=Convert.ToInt32(startMonth.DayOfWe
阅读全文
摘要:C#在关闭窗体的时候,有时线程还在后台执行,没有及时退出。处理方案: 为Form添加FormClosing事件,加入以下语句,在退出时,杀死本进程。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->System.Diagnostics.Process.GetCurrentProcess().Kill();
阅读全文
摘要:在发射一个函数时,如果这个函数包含了对当前窗体的 Form.Close(),那么很可能在 Application.Run 处报错。引发这个原因,我在反汇编跟踪时,最终发现了问题点。原函数如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->privatevoidnavBarControl1_DoubleClick(objectsender,EventArgse){if(navBarControl1.PressedLink!=null){s
阅读全文
摘要:http://msdn.microsoft.com/zh-cn/library/w5zay9db.aspxparams 关键字可以指定采用数目可变的参数的方法参数。可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。还可以不发送参数。在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。public class MyClass{ public static void UseParams(params int[] list) { for (int i = 0; i < list.Length; i...
阅读全文
摘要:因公司需要完成一条形码打印问题,所以在找到一些资料做了一个Demo特请教!不知道此条形码是否正确:图:源码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Drawing;namespacePaabo.WordProcessing.Common{publicclassBarCodeProvide
阅读全文
摘要:用于参数的Attribute在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_SQL代码,这些代码往往需要传递各种参数,有的参数个数比较多,一不小心还容易写错。有没有一种一劳永逸的方法?当然,你可以使用MS的Data Access Application Block,也可以使用自己编写的Block。这里向你提供一种另类方法,那就是使用Attribute。下面的代码是一个调用AddCustomer存储过程的常规方法:public int AddCustomer(SqlConnection connection, s..
阅读全文
摘要:.Net封装好的方法int Control.MousePosition.X;int Control.MousePosition.Y;用API方法using System.Runtime.InteropServices;Point p;[DllImport("user32.dll")]public static extern bool GetCursorPos(out Point pt);private void timer1_Tick(object sender, EventArgs e){ GetCursorPos(out p); label1.Text p.X.ToSt
阅读全文
摘要:这是之前我写的原始的 VB.NET 版本:http://www.cnblogs.com/RChen/archive/2010/05/17/1737587.html转化为 C# 版本后,还进行了一些重构。包括修改成了强类型,以及使用了 Parallel.ForEach,但是发现没有收到预期的效果。性能提升比较少。研究后发现,其实问题的关键在于要通过某种方式对遍历的可能性进行剪枝,这样才能减少遍历次数,从而提升性能。而且,由于结果是通过 yield return 和 IEnumerable 实现的,并没有实现 IList 或者 Array. 所以它本质上并不支持按索引范围拆分的 Parallel.
阅读全文
摘要:当控制台命令使用process.Start(); 后可以直接显示输出内容,当然它是异步显示的不用等程序结束。代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Tex
阅读全文
摘要:private void button2_Click(object sender, EventArgs e) {//去掉字符串头尾指定字符 string MyInfo= "--中华人民共和国--"; //显示 "中华人民共和国" MessageBox.Show(MyInfo.Trim(new char[1] { '-' }), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); MyInfo = ",-中华人民共和国-,-"; //显
阅读全文
摘要:C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准...今天写的C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准...理论部分:15位身份证号码=6位地区代码+6位生日+3位编号18位身份证号码=6位地区代码+8位生日+3位编号+1位检验码 各省市地区国家代码前两位代码是: 北京 11 吉林 22 福建 35 广东 44 云南 53 天津 12 黑龙江 23 江西 36 广西 45 西藏 54 河北 13 上海 31 山东 37 海南 46 陕西 61 山西 ...
阅读全文
摘要:/// /// 本类实现阿拉伯数字到大写中文的转换 /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法 /// public class ChineseNum { //小写转大写 public static string GetChineseNum(string p_num) { ChineseNum cn = new ChineseNum(); return cn.NumToChn(p_num); } //小写金额转大写金额 public static string GetUpperMoney(double p_Money) { ChineseNum cn = new...
阅读全文
摘要:/// 登录 /// /// /// /// public static string Login(String url, String paramList) { HttpWebResponse res = null; string strResult = ""; try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded&q
阅读全文
摘要:001using System; 002using System.Collections.Generic; 003using System.Linq; 004using System.Text; 005using System.Data; 006007namespace Common 008009010public static class JsonExtensions 011012#region DataSetToJson 扩展方法 013/// 014/// DataSetToJson 扩展方法 015/// 016/// 要传入的DataSet 017/// Json的名称 018/..
阅读全文
摘要:最近在搞一个图形图像的项目。不知道经理为什么选择了C#语言,但还是要做,呵呵。在期间出现一个比较难解决的问题如下:删除当前图层的指定区域用来显示下面图层在这个区域的图像,相当于PS蒙版层的效果。实现代码如下:Bitmap tmp = new Bitmap(page.ImageFileName); Bitmap image = new Bitmap(tmp.Width, tmp.Height); Graphics g = Graphics.FromImage(image); g.Clear(Color.Transparent); g.DrawImage(tmp, ...
阅读全文
摘要:构思:写一个全局的Queue , 然后开一个线程去循环. 不善言语,直接看代码吧!Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicclassMyQueue{publicdecimalId{get;set;}publicdecimalType{get;set;}}staticQueueTaskQueue=newQueue();staticvoidMain(string[]args){ServiceStart();Console.Re
阅读全文
摘要:如果程序在装载时需要进行较长时间的处理,最好使用启动画面,一方面美化程序,一方面可以不使用户面对着一片空白的程序界面。 我手头上一个小项目主界面启动时需要检查用户文件及运行环境是否有效,需要一段时间处理,因此想到要添加一个启动画面,在网上搜了一阵,发现下面两个方案:1、用C#给程序加启动画面并只允许一个应用程序实例运行 http://www.zahui.com/html/14/36790.htm 2、HOW TO:溅射屏幕(Splash Screen),也叫程序启动画面的制作(.NET2003) http://lzmtw.cnblogs.com/archive/2005/10/31/26578
阅读全文
摘要:1publicintCreateDB_KillProc_proc()2{3intresult=0;4stringSqlStr="";5//组合Sql语句6SqlStr+=@"USE[RadarDataBase]7GO8SETANSI_NULLSON9GO10SETQUOTED_IDENTIFIERON11GO12createproc[dbo].[P_KillConnections]13@dbnamevarchar(200)14as15declare@sqlnvarchar(500)16declare@spidnvarchar(20)17declare#tbcurs
阅读全文
摘要://加密 public string DesEncrypt(string strText, string strEncrKey) { byte[] byKey=null; byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; try { byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0,8)); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[...
阅读全文
摘要:Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.DrawString 自己来“画”。下面的代码可以对DataGridView第1列内容相同的单元格进行合并: private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { // 对第1列相同单元格进行合并 if (e.ColumnIndex == 0 ...
阅读全文
摘要:1.新建一个控制台应用程序,保存在桌面上,Main函数如下所示Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{class Program {static void Main(string[] args) {f...
阅读全文
摘要:当你想要隐藏的时候if (this.tabMain.TabPages[ "tabpageThePage "] != null){this.tabMain.TabPages.Remove(tabpageThePage);}当你想要显示的时候if (this.tabMain.TabPages[ "tabpageThePage "] == null){this.tabMain.TabPages.Add(tabpageThePage);}
阅读全文
摘要:楼猪平时一有空就有看别人代码的习惯,从许多优秀规范的代码中学习到了很多简约高效的写法和画龙点睛的思想精华。但是有的时候也会觉得某些写法很值得玩味。比如刚看到一段代码,在foreach的条件判断里加了一个方法。楼猪一开始想当然地认为循环几次,方法也会执行几次,这样肯定会有效率问题。但是看来看去还是不确定写代码的人为什么要这么写,难道当时他不小心没有注意到这个问题,抑或他rp正处低谷,抑或是他一时不负责任无缘无故就爱咋咋地了?!毛主席教导我们“没有调查就没有发言权”;我D强调全社会要树立科学发展观。认识到问题的严重性,所以楼猪又在本地测试了一下:代码Code highlighting produc
阅读全文
摘要:1.用Pascal规则来命名方法和类型。 Pascal 大小写形式是指名称中的单词的第一个字母大写public class DataGrid{public void DataBind(){}}2.用Camel规则来命名局部变量和方法的参数. camel大小写形式类似于Pascal大小写形式,但名称中第一个单词的第一个字母不是大写。public class Product{private string _productId;private string _productName;public void AddProduct(string productId,string productName)
阅读全文
摘要:导入包含Domino命名空间的dll:Interop.Domino.dll安装notes客户端。 访问domino是由建立一个NotesSession对象开始的。所以第一个问题是NotesSession对象的初始化。NotesSession对象的Initialize(string password)方法,直观却有些让人费解,因为即使没有接触过domino的人也知道建立一个会话,需要的是用户名和密码,而这里的方法只有一个password参数。这里的道理不用深究,因为notes客户端会根据系统中的user.id文件找到用户名信息,而密码部分就是要验证的事情了。如果有做过domino开发的人,对这部
阅读全文
摘要:C#是用>(右移) 运算符是用来执行移位运算。 左移 (>) 将第一个操作数向右移动第二个操作数所指定的位数,空出的位置补0。 右移相当于整除.右移一位相当于除以2;右移两位相当于除以4;右移三位相当于除以8。 x>>1= x/2 x>>2= x/4 x>>3= x/8 x>>4=x/16 当声明重载C#移位运算符时,第一个操作数的类型必须总是包含运算符声明的类或结构,并且第二个操作数的类型必须总是 int,如:Code highlighting produced by Actipro CodeHighlighter (freewar
阅读全文
摘要:/// /// 去掉字符串中的数字/// /// /// public static string RemoveNumber(string key){ return System.Text.RegularExpressions.Regex.Replace(key, @"\d", "");}/// /// 去掉字符串中的非数字/// /// /// public static string RemoveNotNumber(string key){ return System.Text.RegularExpressions.Regex.Replace(key
阅读全文
摘要:使用反射动态调用类成员,需要Type类的一个方法:InvokeMember。对该方法的声明如下(摘抄于MSDN): public object InvokeMember( string name,BindingFlags invokeAttr, Binder binder, object target, object[] args);参数name String,它包含要调用的构造函数、方法、属性或字段成员的名称。 - 或 - 空字符串 (""),表示调用默认成员。 invokeAttr 一个位屏蔽,由一个或多个指定搜索执行方式的 BindingFlags 组成。访问可以是
阅读全文
摘要:C#操作SQLFloat类型,数据会多很多小数,原来是C#的float和sql的float类型不一致//////数据库中与C#中的数据类型对照/////////privatestringChangeToCSharpType(stringtype){stringreval=string.Empty;switch(type.ToLower()){case"int":reval="Int32";break;case"text":reval="String";break;case"bigint":rev
阅读全文
摘要:一、工厂方法(Factory Method)模式工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。在Factory Method模式中,工厂类与产品类往往具有平行的.
阅读全文
摘要:如何读取文本文件内容: 在本文介绍的程序中,是把读取的文本文件,用一个richTextBox组件显示出来。要读取文本文件,必须使用到"StreamReader"类,这个类是由名字空间"System.IO"中定义的。通过"StreamReader"类的"ReadLine ( )"方法,就可以读取打开数据流当前行的数据了。下面代码实现的功能就是读取"C:\file.txt"并在richTextBox1组件中显示出来: FileStream fs = new FileStream ( "C:
阅读全文
摘要:最近在做项目,发现在使用Mysql提供给C#操作的类不是和好用,就想办法写了一个操作方便的Mysql数据层类。比如以前在执 行一个查询代码publicDataSetGetdataset(longpkid){stringsql="select*frommytablewherepkid=@pkid";MySqlCommand_dbcomm=_dbconn.CreateCommand();MySqlParameterCollectionmysqlparacoll=_dbcomm.Parameters;mysqlparacoll.Add(newMySqlParameter(n,Db
阅读全文
摘要:ListBox控件的使用:1)控件属性 Items SelectedItems SelectioModes2)数据绑定 DataSoure DisplayMember ValueMenber3)实例下面开始一一说明上面的ListBox控件的使用。 首先来说控件的属性,(1)Items:使用此属性获取列表控件项的属性。此属性可用于确定列表控件中的选定项。添加items时既可以设计时静态添加,也可以在代码中动态添加。如果不想显示设计时添加的items,可以在代码中添加this.listBox1.Items.Clear();只显示在代码中添加的选项。 (2)SelectedItems:获取包含Lis
阅读全文
摘要:最近项目出使用到了将word文档以二进制的方法存到数据库中,并再次读取出二进制数据转换为word文档。最后总结了一下,不多说看示例方法:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//////二进制数据转换为word文件//////二进制数据///word文件名///word保存的相对路径publicstringByteConvertWord(byte[]data,stringfileName){stringsavePath=@&qu
阅读全文
摘要:【函数】 MessageBox( Text, Title, nType,MessageBoxIcon);【函数说明】 弹出一个消息框。【语法】参数:Text ,消息框的正文;Title ,消息框的标题;nType ,消息框的类型。返回值:,用户在消息框上点击关闭时的选择的按钮。MessageBoxIcon:对话框上显示的图标样式。【说明】MessageBox("消息内容", "返回值 确定1",MessageBoxButtons.OK,MessageBoxIcon.Question); MessageBox("消息内容",, &quo
阅读全文
摘要:需要引用命名空间using System.Drawing.Text;....Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//获取系统字体:InstalledFontCollection fc = new InstalledFontCollection();foreach( FontFamily font in fc.Families ){ ListItem tmp = new ListItem( font.Name , font.Name
阅读全文
摘要:using System.Diagnostics ;using System.IO;private void btnRun_Click(object sender, EventArgs e) { txtResult.Text = ""; processCommand("Ping.exe", this.txtAddress.Text); processCommand("Ping.exe", this.txtAddress.Text); } public void processCommand(string commandName, st
阅读全文
摘要:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceBubbleSort6{7classProgram8{9staticvoidMain(string[]args)10{11TestArraynums=newTestArray(10);12#region初始化数组13Randomrnd=newRandom(100);14for(intnum=0;num0&&arr[inner-1]>=temp)70{71arr[inner]=arr[inner-1];72inner-=1;7
阅读全文
摘要:在VC#2005中,要是打包的程序中包含了WindowsMediaPlayer这个组件的话,在生成解决方案的过程中会提示出错: "错误1,应将“wmp.dll”排除,原因是其源文件“C:\WINDOWS\system32\wmp.dll”受到“Windows系统文件保护”。" 那么是不是在程序打包过程中就不能像QQ那样加入声音效果了呢? 解决方案: 选中并右键单击"wmp.dll",在它的属性里有个"Exclude",把它设置为"true",再生成解决方案,就没问题了
阅读全文
摘要:C#中一些默认的预定义属性,见下表: 预定义的属性 有效目标 说明 AttributeUsage Class 指定另一个属性类的有效使用方式 CLSCompliant 全部 指出程序元素是否与CLS兼容 Conditional Method 指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用 DllImport Method 指定包含外部方法的实现的DLL位置 STAThread Method(Main) 指出程序的默认线程模型为STA MTAThread Method(Main) 指出程序的默认模型为多线程(MTA) Obsolete 除了Assembly、Module、P
阅读全文
摘要:首先看一段C#代码:运行后发现主线程通过try{}catch{}是不能扑捉子线程中的抛出来的异常。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classProgram{staticvoidMain(string[]args){try{System.Threading.Threadthread=newSystem.Threading.Thread(newProgram().run);thread.Start();}catch(Excep
阅读全文
摘要:#region CreateWebsite添加网站public string CreateWebSite(string serverID, string serverComment, string defaultVrootPath, string HostName, string IP, string Port){try{ManagementObject oW3SVC = new ManagementObject (_scope, new ManagementPath(@"IIsWebService='W3SVC'"), null);if (IsWebSit
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->namespace First{publicpartialclass Form1 : Form{public Form1(){InitializeComponent();}privatevoid Form1_Load(object sender, EventArgs e){Employee E1 =new Employee("xiaohong","you&quo
阅读全文
摘要:#region 读取Excel数据到Gridview public void ReadExcel(string sExcelFile, GridView dgBom) { DataTable ExcelTable; DataSet ds = new DataSet(); //Excel的连接 OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Pro
阅读全文
摘要:C# 链接MySql数据库只得注意的几点:1、C#链接MySql数据库要在网上下载一个mysql-connector-net-6.0.4-noinstall.rar 这里面放的都是一堆dll.将他们全部放在ProjectBin 然后在VS里引入一下就OK啦~ 对了mysql.data.cf.dll这个除外(不要引用)2、进行数据库链接的时候注意了,c#链接MySql是和链接SQl的代码是不一样的。 c#链接MySql是这样的:string MySqlString = "User Id=a;pwd=a;Host=服务器;Port=服务器端口号;Database=数据库;Characte
阅读全文
摘要:在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法。第一种:使用ParameterizedThreadStart。调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程。使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象。这种方法不推荐使用,故在此不做详细介绍,具体用法参见:http://msdn2.microsoft.com/z
阅读全文
摘要:先讲一下简单工厂模式、工厂方法模式、抽象工厂模式的东西:简单工厂模式(Simple Factory Pattern):工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关类,也就是说产品的创建逻辑集中于一个工厂类,客户端只需要传递不同的参数给工厂,这时情况是:一个工厂创建一个产品,所有的具体工厂继承自一个抽象工厂;对于客户端来说,不存在与具体产品的依赖;工厂方法模式(Factory Method Pattern):提前定义用于创建对象的接口,让子类决定实例化具体的某一个类,即在工厂和产品中间增加接口,工厂不再负责产品的创建,由接口针对不同条件返回具体的类实例,由具体类实例去实现;抽
阅读全文
摘要:写在前面:因为业务的需要,有时会使用到自定义运行时窗体设计器Runtime FormDesigner,实现的功能,就是IDE设计器的简化。设想一下,如果可以在程序运行时,再设计一个Form,然后编译代码,那是多么强大呀。下面介绍几个重要的Runtime FormDesigner,其中大部分来自了微软的官方网站或MSDN。重要的链接资源 下面介绍有4个重要的Form设计器,它们是: 1,Designerhost http://support.microsoft.com/?id=813808 INFO: 代码示例演示如何通过使用 VisualC # .NET 创建自定义窗体设计器 .Net1.1下
阅读全文
摘要:在工作中我发现了一个C#浮点数的精度问题,以下的程序运行结果并未得到我预期的结果:view sourceprint?01namespace FloatTest 0203class Program 0405static void Main(string[] args) 0607double a = 0.0001; 08float b = 0.1F; 0910int c = (int)((a * 1000) / b); 1112Console.WriteLine("c = {0}", c); 1314Console.ReadLine(); 151617}我期望的结果是得到1,结
阅读全文
摘要:要在c#中获取路径有好多方法,一般常用的有以下五种: //获取应用程序的当前工作目录。 String path1 = System.IO.Directory.GetCurrentDirectory(); MessageBox.Show("获取应用程序的当前工作目录:" + path1); //获取程序的基目录。 String path2 = System.AppDomain.CurrentDomain.BaseDirectory; MessageBox.Show("获取程序的基目录:" + path2); //获取和设置包括该应用程序的目录的名称。 St
阅读全文
摘要:Datatable 到 string public static string DataTableToString(DataTable dt) { //!@&,#$%,^&*为字段的拼接字符串 //为了防止连接字符串不在DataTable数据中存在,特意将拼接字符串写成特殊的字符! StringBuilder strData = new StringBuilder(); StringWriter sw = new StringWriter(); //DataTable 的当前数据结构以 XML 架构形式写入指定的流 dt.WriteXmlSchema(sw); strData.
阅读全文
摘要:事件,MSDN解释:类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。有关事件的理论与好处,在这里就不再废话了,感兴趣的可以参考MSDN的讲解。这里就通过有一个demo演示一下如何一步步实现标准的事件处理过程。可以做为以后代码中的事件编写参考。要运用事件,需要了解委托与事件,可以去学习相关教程。模拟有一个恐怖的军火提供商要我们实现一个火箭炮的订单管理程序。效果图:第一步:基本实践从MSDN上看了事件的讲解,我们可能想实践一下,来编写一个简单的事件处理,无参数,也不怎么规范,但已经达到的实现事件的功能。代码 1 pub
阅读全文
摘要:一、新建一个数据库 新建一个access数据user.mdb。 新建一个user表,添加:UserId(文本类型)及Password(文本类型)两个字段。二、新建一个default.aspx文件。 在Web Form里: 加入两个Label控件,Text属性分别为“登录名”和“密码”; 加入两个TextBox控件,ID属性分别为“Userid”和“Pwd”,Text属性均为空; 加入两个RequiredFieldValidato控件,ID属性分别为“rfvUserid”和“rfvPwd”,Text属性分别为“请输入登录名!”和“请输入登录密码!”,ControlToValidate...
阅读全文
摘要:今天编程的时候,遇到一个问题:在同一个窗体区域加载两个不同的窗体,每次只显示一个子窗体并能够对这两个子窗体做切换。 对于这个问题用panel控件是非常简单的,只要每次清空panel控件上的子窗体,然后加载另一个子窗体即可。代码如下所示:panel1.Clear();//清空的是当前panel上的子窗体panel1.Add(subtabcontrol);//subtabcontrol是另一个子窗体
阅读全文
摘要:1、用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc";string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach (string i in sArray) Response.Write(i.ToString() + "");输出结果:aaabbbccc 2、用多个字符来分隔:string str="aaajbbbscccjdddseee";s
阅读全文
摘要:using System;using System.Data;using System.Configuration;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;using System.Drawing.Imaging;using System.Drawing; /// /// DrawingCurve 的
阅读全文
摘要:C#中的消息被Application类从应用程序消息队列中取出,然后分发到消息对应的窗体,窗体对象的第一个响应函数是对象中的protectedoverridevoidWndProc(refSystem.Windows.Forms.Messagee)方法。 它再根据消息的类型调用默认的消息响应函数(如OnMouseDown),默认的响应函数然后根据对象的事件字段(如this.MouseDown)中的函数指针列表,调用用户所加入的响应函数(如Form1_MouseDown1和Form1_MouseDown2),而且调用顺序和用户添加顺序一致。根据这个流程,我做了个模仿程序,有不足的地方还请大家提供
阅读全文
摘要:using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System.Drawing.Printing;using System.Data;using System.Windows.Forms;namespace WeightSystem{ public class cutePrinter2 { private DataGridView dataGridView1; private PrintDocument printDocument; private PageS
阅读全文
摘要:尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写。当需要用到Dll引用的时候,我们通常会通过“添加引用”的方式将它们纳入到项目中,然后就可以像使用自己的类一样方便的使用它们了。但是,有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的。本文介绍两种为Dll库(OCX)自动注册的方法,为大家提供参考。首先,大家都知道在Windows的“运行”中,输入“Regsvr32.exe 路径”这样的方法来手动注册Dll控件(OCX),显示这种方法对于程序的自动化部署等带
阅读全文
摘要:1.父类:public virtual string ToString(){return "a";}子类:public override string ToString(){return "b";}2.同一类中或父子关系类中皆可:public string ToString(){return "a";}public string ToString(int id){return id.ToString();}override是用于重写基类的虚方法,这样在派生类中提供一个新的方法重载是提供了一种机制, 相同函数名通过不同的返回值类型以及参
阅读全文
摘要://路径访问绝对地址string servername = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];string port = HttpContext.Current.Request.ServerVariables["SERVER_PORT"];StringBuilder mHttpUrl = new StringBuilder();mHttpUrl.Append("http://");mHttpUrl.Append(servername);if (port
阅读全文
摘要:如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。paramsparams 关键字可以指定在参数数目可变处采用参数的方法参数。在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 示例:字面意思比较难懂,所以看示例很有用。// keywords_params.csusing System;class App{ public static void UseParams(params object[] lis
阅读全文
摘要:在.Net中,微软给我们提供了很多不同的创建对象实例的方法,它们的速度又各有不同,以下一一列举。使用new关键字这在.Net中是最常见,也是速度最快的方式:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1varinstance=newClass();使用System.Activator类的CreateInstance方法动态创建这里的CreateInstance指的是Activator的非泛型方法:Code highlighting pro
阅读全文
摘要:///通过传入的特定XML字符串,通过 ReadXml函数读取到DataSet中。protected static DataSet GetDataSetByXml(string xmlData){ try{DataSet ds = new DataSet(); using (StringReader xmlSR = new StringReader(xmlData)) { ds.ReadXml(xmlSR, XmlReadMode.InferTypedSchema); //忽视任何内联架构,从数据推断出强类型架构并加载数据。如果无法推断,则解释成字符串数据 if (ds.Tables.Co..
阅读全文
摘要:我们知道IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。而c#中int32的数就是四个字节的,但是符号要占掉一位所以就不够了,但是无符号的 UInt32 就没有这样的问题。所以理论上讲:UInt32是可以完整保存一个IP地址的。那下面的两个方法就是对IP与UInt32之间的互转换。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem.Text;namespaceCSTest{classStrOp{//////得到字符串的长度,一个汉字算2个字符//////字符串///返回字符串长度publicstaticintGetLength(stringstr){if(str.Length==0)return0;ASCIIEncodingascii=newASCIIEncoding();inttempLen=
阅读全文
摘要:用过logExplorer的朋友都会被他强悍的功能吸引,我写过一篇详细的操作文档可以参考http://blog.csdn.net/jinjazz/archive/2008/05/19/2459692.aspx我们可以自己用开发工具来实现sql日志的读取,这个应用还是很酷的,具体思路1、首先要了解一个没有公开的系统函数::fn_dblog,他可以读取sql日志,并返回二进制的行数据2、然后要了解sql的二进制数据是如何存储的,这个可以参考我的blog文章http://blog.csdn.net/jinjazz/archive/2008/08/07/2783872.aspx3、用自己擅长的开发工具
阅读全文
摘要:[flags]enmu chl{a=1,b=2,c=3}用flags声明了一个位域,与枚举不同,位域支持不同的&和|操作。对于普通枚举,|和&操作代表二进制比特操作enmu ch{a=1,b=2,c=3}ch.a|ch.c=01|11=3ch.a&ch.b=01&10=0对于位域,|和&操作代表逻辑操作[flags]enmu chl{a=1,b=2,c=3}---------|操作把两边位域的元素组合起来(忽略相同部分,并且根据元素的值的和自动转换)chl.a|chl.b=chl.3 因为1+2=3 这就是位域根据元素和自动转换的例子,但有时这也会给我们
阅读全文
摘要:1、LINQ to XML类System.Xml.Linq命名空间含有19个类,下表列出了它们的名称及其描述:类描述XAttribute表示一个 XML 属性XCData表示一个 CDATA 文本节点XComment表示一个 XML 注释XContainer适用于可能具有子节点的所有节点的抽象基类XDeclaration表示一个 XML 声明XDocument表示一个 XML 文档XDocumentType表示一个 XML 文档类型定义 (DTD)XElement表示一个 XML 元素XName表示一个XML元素或属性的名称XNamespace表示一个XML的命名空间XNode一个抽象类,它表
阅读全文
摘要:首先,我们分析一下异步处理的环境需要在当前线程中获取返回值 不需要在当前线程中获取返回值,但是仍然需要对返回值做处理对于第1中情况,还可以继续细分在当前线程中启动线程T,然后继续执行当前线程中的其它任务,最后在当前线程中获取T的返回值 在当前线程中启动线程T,然后继续执行当前线程中的其它任务R1,等待T执行完成,当T执行完成后,继续执行当前线程中的其它任务R2,最后获取T的返回值 在当前线程中启动线程T,只要T在执行就执行任务R,最后获取T的返回值下面,我将一一给出例子:1.1 在当前线程中启动线程T,然后继续执行当前线程中的其它任务,最后在当前线程中获取T的返回值view sourcepri
阅读全文
摘要:在使用C#对文本文件读取的时候,如果其中包含了中文,经常会出现乱码。一般解决是在StreamReader加一个编码,我使用的是Encoding.UTF8,一般情况下使用这个参数就可以。但是,在这次我使用UTF8却无效。而且使用,unicode和UTF32都会使用StreamReader的EndOfStream在读取一行之后,就会变成true。我想原因可能是使用这种编码没有正确读取出换行符,使读取一次之后就到达了文件末尾。直到后来,看到一片资料,使用Encoding.GetEncoding("gb2312"),就解决了乱码问题。看来需要百度一下gb2312和UTF8的区别。附
阅读全文
摘要:OracleConnection oc=new OracleConnection("data source=osserver;User Id=****;password=**");OracleCommand cmd=new OracleCommand("insert into cym1.uploadfile (filename,filecontent) values (:filename,:filecontent)",oc);OracleParameter op1=new OracleParameter("filename",Orac
阅读全文
摘要:一、C#客户端通过POST或GET向指定的网址发送数据发送请求Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//////发送请求//////网址///要发送的值。如:abc=4&bcd=5///发送的方式,“POST”还是“GET”///返回的结果publicstaticstringRequestUrl(stringurl,stringparameter,stringmethod){try{HttpWebRequesthwrq=nu
阅读全文
摘要:/// 转全角的函数(SBC case) /// ///任意字符串 /// 全角字符串 /// ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///public string ToSBC(string input){ //半角转全角: char[] c=input.ToCharArray(); for (int i = 0; i 65280 && c[i]<65375)c[i]=(char)(c[i]-65248);}return new string(c);} ...
阅读全文
摘要:在应用程序中使用多个线程的一个好处是每个线程都可以异步执行。对于 Windows 应用程序,耗时的任务可以在后台执行,而使应用程序窗口和控件保持响应。对于服务器应用程序,多线程处理提供了用不同线程处理每个传入请求的能力。否则,在完全满足前一个请求之前,将无法处理每个新请求。然而,线程的异步特性意味着必须协调对资源(如文件句柄、网络连接和内存)的访问。否则,两个或更多的线程可能在同一时间访问相同的资源,而每个线程都不知道其他线程的操作。结果将产生不可预知的数据损坏。对于整数数据类型的简单操作,可以用 Interlocked 类的成员来实现线程同步。对于其他所有数据类型和非线程安全的资源,只有使用
阅读全文
摘要:为指定类型扩展方法:定义类Class1:public static class Class1 //必须为static类,且不能包含构造函数{ /// /// 返回指定字符串中以"$"为分隔的数组长度 /// /// string值 /// 整型 public static int ArrayListLenght(this string value) { int len = 0; if (value.IndexOf("$") >= 0) { len = value.Split('$').Length; } return len; }}
阅读全文
摘要:下面我们来实现程序集的安装,代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/// /// 程序集安装与卸载/// /// 程序集路径/// 是否安装(若为False则为卸载)public void AssemblyInstall(string assemblyPath, bool isInstall) { System.Configuration.Install.TransactedInstaller transa...
阅读全文
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Drawing.Imaging;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication4{ public partial class Form1 : Form { public Form1() { ...
阅读全文
摘要:DateTime.Now.ToShortTimeString()DateTimedt=DateTime.Now;dt.ToString();//2005-11-513:21:25dt.ToFileTime().ToString();//127756416859912816dt.ToFileTimeUtc().ToString();//127756704859912816dt.ToLocalTime().ToString();//2005-11-521:21:25dt.ToLongDateString().ToString();//2005年11月5日dt.ToLongTimeString().
阅读全文
摘要:本人今天做了一个功能 需要在一个类里用多个数组,数组需要索引器来调用 一个数组我查了msdn 一个类里面只能有一个this 索引器那这么多数组如何构造索引呢我在坛子里找到了解决之道view plaincopy to clipboardprint?using System; namespace TestUse { /// /// Summary description for Muliti. /// public class Muliti { public Muliti() { // // TODO: Add constructor logic here // } ...
阅读全文
摘要:在正式开始之前,我需要先声明:这些关键字对于偏向底层的程序员更加耳熟能详,对这些关键字不了解并不影响你作为一个合格的程序员。这意味着这些关键字会让你在编写程序时得到更好的代码质量和可读性,enjoyyieldyield关键字会告诉编译器当前的函数是在一个循环内部,编译器会相应生成一个执行它在循环体内部所表示行为的类,yield和return关键字一起用于为枚举器对象提供返回值,比如说:在foreach内部的每一次循环内,yield关键字用于终止当前循环:public classList { //using System.Collections; public static I...
阅读全文
摘要:我们知道要使用foreach语句从客户端代码中调用迭代器,必需实现IEnumerable接口来公开枚举器,IEnumerable是用来公开枚举器的,它并不实现枚举器,要实现枚举器必需实现IEnumerator接口。现在用 yield关键字,您不必实现整个 IEnumerator 接口。从而简化了代码. 而且可以实现更加灵活的枚举。如下代码:1// Declare the collection:2public class SampleCollection3{4 public int[] items;56 public SampleCollection()7 {8 items = new int[
阅读全文
摘要:今天下午面试,HR问道:C#中静态类或静态方法和非静态类静态方法有什么区别?我回答是静态的可以直接调用而非静态的需要实例化。HR说这谁都知道,我问的是本质区别。我当时就郁闷了,我只有8个月的编程经验,几乎没用到静态类或方法,只知道大概怎么用,于是只能回答说不知道,后面有问道了几个问题,回答不理想,被PASS掉了。。 回家后上网查了下,一个需要实例化,一个直接调用这是公认的没有问题,我把剩下的粘贴出来供需要的人参考静态属于类定义, 动态属于对象定义 肯定是先定义类,才能定义对象, 所以静态要先于动态, 而且静态只能有一份, 动态则没有限制.===========================.
阅读全文
摘要:代码如下:#读写Ini文件 usingSystem.Runtime.InteropServices; publicclassIniFile { privatestringpath; publicIniFile(stringiniPath) { this.path=iniPath; } [DllImport("kernel32")] privatestaticexternintGetPrivateProfileString (stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath
阅读全文
摘要:刚复习了Array类的sort()方法, 这里列举几个常用的,和大家一起分享。Array类实现了数组中元素的冒泡排序。Sort()方法要求数组中的元素实现IComparable接口。如System.Int32和System.String实现了IComparable接口,所以下面的数组可以使用Array.Sort()。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->string[] names = { "Lili""
阅读全文
摘要:首先写个接受消息的客户端。这里偷了点懒,new UdpClient(11000)就是用Udp方式侦听11000端口,侦听任何发送到11000端口的消息都会接收到。代码 :Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->UdpClient udpClient = new UdpClient(11000); try IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); ..
阅读全文
摘要:代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Drawing.Text;using System.Drawing.Drawing2D;using System.Data;using System.Text;using System.Windows.Forms; public partial class WordArt : UserControl//这是一个艺术字的控件 { //文本属性 private string.
阅读全文
摘要:一朋友写了一个把输入的整型或浮点数转换为科学计数法表示的算法,写好后叫我去帮他看看有没有什么bug之类的没有考虑周全。我还没有细看就已经把我吓到了----整整写了将近三百行代码。我也没说他什么,只是回到我的电脑前自己写了一个试试。需求:输入一个数,用科学计数法表示,要有三位有效数字,幂数部分也要求是三位,不足则补零代码如下:public abstract class ScienceCount { public static string KXJSF(double num) { double bef =System.Math.Abs(num); int aft=0; while (bef >
阅读全文
摘要:两种使用方法:1、在文本输入框后加入正则表达式验证控件Regularexpression_r_rValidator。此种方法适用于WebForm中。在Validationexpression_r_r选项中,输入验证规则。在ControlToValidate选项中,选择要验证的控件。在ErrorMesage选项中,输入如果验证没有通过页面要显示的信息。2、在隐藏代码中使用,此方法适用于WinForm和WebForm中。这种方法要先加入声明命名空间:using System.Text.Regularexpression_r_rs;然后在方法中声明验证规则:string s_reg = @"
阅读全文
摘要:抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。废话不说,见代码。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace IconMaker{ public partial class Form.
阅读全文
摘要:1、命名空间:System.Collections.Generic(程序集:mscorlib)2、描述: 1)、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2)、任何键都必须是唯一的 3)、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4)、Key和Value可以是任何类型(string,int,custom class 等)3、创建及初始化:Dictionary myDictionary = new Dictionary();4、添加元素:myDictionary.Add("C#",0);m
阅读全文
摘要:以前做Winform程序,居然专门做一个界面来配置连接字符串。今天无意中发现:竟然可以直接调用VS.net2005中的配置界面来处理。使用方法也非常简单:引用C:\Program Files\Microsoft Visual Studio 8\Common7\IDE 里面的Microsoft.Data.ConnectionUI.Dialog.dll。using Microsoft.Data.ConnectionUI;DataConnectionDialog dialog = new DataConnectionDialog(); dialog.DataSources.Add(DataSourc
阅读全文
摘要:1、命名空间:System.Collections.Generic(程序集:mscorlib)2、描述: 1)、表示可通过索引访问的对象的强类型列表;提供用于对列表进行搜索、排序和操作的方法。 2)、是ArrayList类的泛型等效类。 3)、可以使用一个整数索引访问此集合中的元素;索引从 零 开始。 4)、可以接收null空引用(VB中的Nothing)。 5)、允许重复元素3、创建及初始化: List myList = new List();//初始Capacity为 零 List myList2 = new List(30); //初始Capacity为 30 List ...
阅读全文
摘要:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.ComponentModel;4usingSystem.Data;5usingSystem.Drawing;6usingSystem.Linq;7usingSystem.Text;8usingSystem.Windows.Forms;91011namespaceTabControlTest12{13publicpartialclassForm1:Form14{15publicForm1()16{17InitializeComponent();18}1920constintCLO
阅读全文
摘要:我们要不断地进行数据库的读写,那么ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下: ExecuteNonQuery():这个东东可以让我们在更新数据库时不使用 DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行 UPDATE、INSERT 或 DELETE SQL语句就可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和 DELETE .
阅读全文
摘要:/// ///把汉字转换成拼音(全拼) /// /// 汉字字符串 /// 转换后的拼音(全拼)字符串study.pctoday.net.cn public static string ConvertE(string hzString) { //匹配中文字符 Regex regex = new Regex("^[\u4e00-\u9fa5]$"); byte[] array = new byte[2]; string pyString = ""; int chrAsc = 0; int i1 = 0; int i2 = 0; char[] noWChar
阅读全文
摘要:在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改。尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取。XML文件简单易用,而且可以在任何应用程序中读写数据,所以它是一种重要的通用文件。下面的例子简单演示了XML文件的创建、读取和写入。XmlProcess类中的Using指令usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingSystem.Xml;XmlProcess类class XmlProcess ...
阅读全文
摘要:刚看到网上一篇文章里用sql实现了行列转置。sql server 2005/2008只用一个pivot函数就可以实现sql server 2000很多行的复杂实现。提到转置,立刻想起还在求学阶段曾经做过的一个练习,用c语言实现二维数组的转置。相信大家都做过这个练习。下面利用c#利器也实现一遍,没有实际意义,练练手而已。1、二维数组转置CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classProgram{publicstaticst
阅读全文
摘要:1. Out,params,ref之前先记录平时用的最多的按值传递参数的情况,当然默认情况下参数传入函数的默认行为也是按值传递的。 1: //默认情况下参数会按照值传递 2: static int add(int x,int y) { 3: int ans = x + y; 4: x = 1000; y = 2000; 5: return ans; 6: } 1: static void Main(string[] args) { 2: Console.WriteLine("默认情况...
阅读全文
摘要:随着传统的数据库、计算机网络和数字通信技术的飞速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注。但由于其开发较为复杂,在一定程度上制约了它的发展。基于此,本文提出了在.Net环境下使用一种新的开发语言C#结合ADO.Net数据访问模型来开发分布式数据库系统,大大简化了开发过程。 1 分布式数据库系统 就其本质而言,分布式数据库系统的数据在逻辑上是统一的,而在物理上却是分散的。与集中式数据库相比它有如下主要优点: · 解决组织机构分散而数据需要相互联系的问题。 · 均衡负载。负载在各处理机间分担,可避免临界瓶颈。 · 可靠
阅读全文
摘要:内容不写了,代码上都做了写注释。 1 /**//// 2 /// 比较两个数据表,并返回比较结果表 3 /// 比较条件: 4 /// 1.两个表结构相同; 5 /// 2.两个表排序都是按主键顺序排序; 6 /// 3.两个表都不为空; 7 /// 8 /// 新数据 9 /// 旧数据10 /// 表主键名称11 /// 状态列名称12 /// 不相同时状态值13 /// 结果数据表 14 public static DataTable CompareData(15 this DataTable newTable, 16 DataTable oldTable,17 string par..
阅读全文
摘要:用过VB.NET的人应该只要MY有多强大了吧,是不是很想在C#中也能调用呢?当然是可以的,.net作为微软的跨语言的平台,必须是能实现的,不然微软就自己打自己嘴巴了~回到正题上:1.在程序中加上Microsoft.VisualBasic引用;2.添加如下命名空间using Microsoft.VisualBasic.ApplicationServices;using Microsoft.VisualBasic.CompilerServices;using Microsoft.VisualBasic.Devices;using Microsoft.VisualBasic.FileIO;using
阅读全文
摘要:最近在写程序时遇到ref,out 参数问题。回头有自习看了看MSDN,才有巩固了基础。我把我的测试程序贴出来,大家分享一下。 ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。传递到 ref 参数的参数必须最先初始化。这与 out 不同,后者的参数在传递之前不需要显式初始化。这是out与ref的却别所在。 有点像,c++中的函数传递引用,和传递值。比较经典的程序是交换两个数。这里不在贴出代码。using System;using System.Collect
阅读全文
摘要:处理XML文档是我们经常需要进行的一项工作,尤其是在进行网络服务相关编程时,比如更新RSS等。在.NET 3.5中引入了Linq To XML,使得XML文档的读写已经大大简化,而.NET 4.0中最新的dynamic特性,则将简化发挥到了极致。以处理白云黄鹤的“十大”为例,数据源地址为http://www.byhh.net/posttop10.xml,其当前内容为(为使结果显示清晰,去掉了其中的链接地址字段): WorldSoccer 大家支持哪队? HUSTStudent...
阅读全文
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Security.Cryptography;namespaceMyRSA{publicclassMyRSA{privatestaticstringpublicKey="6CdsXgYOyya/yQHTO96dB3gEurM2UQDDVGrZoe6RcAVTxAqDDf5LwPycZwtNOx3Cfy44/D5Mj86koPew5soFIz9sxPAHRF5hcqJoG+q+UfUYTHYCsMH2cnqGV
阅读全文
摘要:将HKEY_LOCAL_MACHINE\SOFTWARE\DeveloperExpress\CodeRushforVS\9.1中的HideMenu设置为0。若HideMenu不存在就创建个DWORD的项即可。注释:我的版本是9.2,同样适用。
阅读全文
摘要:托管代码 (managed code):由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。非托管代码(Unmanaged Code):在公共语言运行库环境的外部,由操作系统直接执行的代码。非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。 Unsafe的代码介于这两者之间,它也是在CLR的环境中执行,但是我们可以直接操作内存。只要我们的代码包含下面三个指针操作符之一就需要使
阅读全文
摘要:今天在做项目时,通过流导出数据到Excel却不显示网格线,真是郁闷。上网查了好久才得一良方(注意标签中的代码):Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DataTablethisTable=DBHelper.GetDataTable("select*fromtable");stringsheetName="sheetName";stringfileName="fileName"
阅读全文
摘要:装箱(boxing)和拆箱(unboxing)是.NET提出得新概念!.NET的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool等等,就是说所有的事物都是对象。如果申明这些类型得时候都在堆(HEAP)中分配内存,会造成极低的效率.NET如何解决这个问题得了?正是通过将类型分成值型(value)和引用型(regerencetype),C#中定义的值类型包括原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、枚举(enu
阅读全文
摘要:/// /// 获取等比例缩放图片的方法 /// /// 待缩放图片路径 /// 缩放图片保存路径 /// 缩放图片保存的格式 /// 要保持的宽度或高度 /// 如果为true则保持宽度为scaling,否则保持高度为scaling /// public bool GetThumbnail(string imgPath, string savePath, ImageFormat format, int scaling, bool keepWidthOrHeight) { try { using (Bitmap myBitmap = new Bitmap(imgPath)) { int ...
阅读全文
摘要:引用(reference)、作用域(scope)、闭包(closure)以及上下文(context)是JavaScript重中之重的基础,也是学习好JavaScript的基础。在这里我以浅显的理解给大家分享一下:一、首先说明下引用(定义):引用是指向一个对象实际位置的指针;说明:在这里大家也许这话不大好理解,浅显地说:“引用” = “别名”。(我想)也就是在编程语言给变量、对象…..等起个名称,以便于在需要的时候进行调用。变量也是对象,那下面就以变量简单的事例为例例如:假如有个变量 a, 想在下次用的时候引用它,给它起个别名 b;Inta; Int &b =a;//记住:指向 对象实际
阅读全文
摘要:先看调用的方法:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.We
阅读全文
摘要:本文列出了C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase六种不同数据库的程序源码和需要注意的点。1.C#连接Access程序代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1usingSystem.Data;2usingSystem.Data.OleDb;3..4stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";
阅读全文
摘要:在VB中做 MDI窗体很简单。在C#里就没有这个轻松了,不过还是很方便的。首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了。然后再添加新窗体,命名为MdiChild。现在运行程序,会发现只运行了MdiMain这个主窗体。呵呵因为我们没有写任何代码,第二个窗体当然不能出现了。现在来添加这个代码。在MdiMain窗体上添加一个Menu,然后随便写个子菜单。双击子菜单,会出现它的Click事件,在这个事件内写如下代码:MdiChild frmMdiChild=new MdiChild();frmMdiChild.MdiParen
阅读全文
摘要:Wtypes.h中的非托管类型 非托管 C语言类型 托管类名 说明HANDLE void* System.IntPtr 32 位BYTE unsigned char System.Byte 8 位SHORT short System.Int16 16 位WORD unsigned short System.UInt16 16 位INT int System.Int32 32 位UINT unsigned int System.UInt32 32 位LONG long System.Int32 32 位BOOL long System.Int32 32 位DWORD unsigned long
阅读全文
摘要:/*约瑟夫环 (问题描述) 约瑟夫问题的一种描述是:编号为1,2,......n,的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任意选 一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新 的m值,从他在顺时针方向下一个人开始从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 (基本要求) 利用单向循环链表存储结构模拟此过程,按照出列顺序印出个人的编号。 (测试数据) m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m为6(正确的出列顺序应为6,1,4,7
阅读全文
摘要:我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random。 对于随机数,大家都知道,计算机不 可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称 作伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。伪随机数的选 择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要。如果随机.
阅读全文
摘要:1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();provider.NumberDecimalDigits =intDecLength; //要设定的小数位数double strCashAmt=Convert.ToDouble(this.txtCashAmt.Text); //先把控件內的值转成doublethis.txtCashAmt.Text = strCashAmt.ToString("N",provider); //再利用ToS
阅读全文
摘要:在设计程序时,无论是界面或是后台代码,我们通常都想留给用户一个较为简单的接口。而我在参与封装语音卡开发函数包的时候,发现各种语音卡的底层函数的接口都是各种整形变量标记值,使用起来极为不变。于是就理解了前辈所写的代码中,利用XML构建反射表机制的初衷。下面我就以某一种语音卡所能兼容的语音格式为例,将反射表机制的原理做个示范。 语音卡的底层开发函数中,放音和录音函数的参数都是很多而且不易理解和记忆的。以语音格式为例,假如a率的标记值是6,u率的标记值是7,……,一般所能兼容的语音格式为10多个。如果我们选用整形变量来做标记语音格式的参数,那么我们大概就有两种选择:1.要么我们把这种对应关系生记下来
阅读全文
摘要:新建一个项目,在菜单栏中选择“项目”/“**属性”选项,该页面中将“输出类型”下拉列表中的选项选择为“类库”,然后重新生成一下该项目,或者在“Visual Studio 2008命令提示”中输入以下命令:csc/t:library*.cs//*.cs表示要编译的文件名
阅读全文
摘要:DirectShow组件在“C:\WINDOWS\system32”目录下的Quartz.dll动态库中,要使C#代码引用COM对象和接口,必须将COM类型库转换为.NET框架元数据,从而有效地创建一个可以从任何托管语言调用的托管包装。在转换过程中需要使用FrameWork SDK自带的TlbImp命令工具,该命令工具在“D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\TlbImp.exe”目录下(取决于Visual Studio 2005的安装路径)。该命令的使用方法为:TlbImp C:\WINDOWS\system32\qu
阅读全文
摘要:ImageAnimator类常用方法如表所示。 表 ImageAnimator类常用方法方法说明Animate将多帧图像显示为动画CanAnimate返回一个布尔值,该值指示指定图像是否包含基于时间的帧Equals已重载。 确定两个Object实例是否相等(从Object继承)GetHashCode用作特定类型的哈希函数。GetHashCode适合在哈希算法和数据结构(如哈希表)中使用(从Object继承)GetType获取当前实例的Type(从Object继承)ReferenceEquals确定指定的Object实例是否是相同的实例(从Object继承)StopAnimate终止正在运行的动
阅读全文
摘要:在公司做的事情比较杂,经常会有一些公司网站的页面文件需要修改。因为有些修改时涉及到所有htm页面文件,而且内容是相同的,但是文件数量达到几千。如果手动更新的话那还不得累惨啊?幸好咱是程序员,哪能那么笨手动去修改呢!所有就写了一个后台管理程序。 如果批量修改的话就需要找到网站根目录下的所有文件,包括子文件夹中的文件。如下就是如何得到文件夹及其子文件夹下的所有文件的实现代码:public class FileAccess { //储存所有文件夹名 private ArrayList dirs; public FileAccess() { dirs = new ArrayList(); } //获取
阅读全文
摘要:1.首先我们看下IEnumerable接口定义: namespace System.Collections { // Summary: // Exposes the enumerator, which supports a simple iteration over a non-generic // collection. [ComVisible(true)] [Guid("496B0ABE-CDEE-11d3-88E8-00902754C4...
阅读全文
摘要:相关代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePixysoft.DesignPattern{publicclassSingleton{privateDictionarydict=newDictionary();privatestring_id=null;privatestaticvolatileobjectinstance;privatestaticobjectsyncRoot=newObject();publicstaticTInstance{get{if(instance==null){
阅读全文
摘要:在一个项目中,为了系统执行效率更快,把一个经常用到的数据库表通过dataset放到Application中,发现在异步实现中每一次都会出现HttpContext.Current为null的异常,后来在网上查了好多资料,发现问这个问题的人多,回答的少,回答的也多数都是:引用System.Web,不要用HttpContext.Current.Application应该用System.Web.HttpContext.Current.Application,后来在网上看到一篇关于System.Runtime.Remoting.Messaging.CallContext这个类的详细介绍才知道,原来Htt
阅读全文
摘要:如下一段小程序,运行结果报无法发送具有此谓词类型的内容正文的错误,其实原因很简单,因为用的是GET的方式进行提交,而GetRequestStream()是用来在post提交的时候写post的内容的流,GET是不能有附加内容的,所以当然会报这个错。HttpWebRequest r = (HttpWebRequest)WebRequest.Create(URL);r.Method = 'GET';r.GetRequestStream();
阅读全文
摘要:昨天发布网站,需要将oracle的存储过程导出来,再在新的电脑加上去。登陆—>工具—>导出用户对象—>选取需要导出的存储过程—>导出保存格式为.sql。当然利用该种方法也可以导出表,其实导出的是建表的语句,所以格式是.sql而不是.dmp。导入存储过程需要导入的用户登录—>工具—>导入表—>SQL导入—>导入
阅读全文
浙公网安备 33010602011771号