
C# / C / C++
zhvsby
持之以恒,低调做人,认真做事,踏实前进,不要急功近利,万事先稳住,后思考再去做
展开
-
C#_命名空间的别名引入机制
如果命名空间比较长的话,并且在程序中经常使用,就可以用using来设置命名空间的别名 ,C#引入了别名机制 缩短程序员开发时间如: using NSSerialize = System.ComponentModel .Design .Serialization;.......NSSerialize .CodeDomSerializer cdomSrlzr;//相当于 Syste原创 2008-11-18 20:19:00 · 4115 阅读 · 0 评论 -
IP与主机名解析
<br /><br />使用System.Net可以实现与Ping命令行类似的IP解析功能,例如将主机名解析为IP或者反过来:<br />private string GetHostNameByIP(string ipAddress)<br />{<br /> IPHostEntry hostInfo = Dns.GetHostByAddress(ipAddress);<br /> return hostInfo.HostName;<br />}<br />priva原创 2010-10-20 18:55:00 · 1152 阅读 · 0 评论 -
委托之一
<br />本文通篇转自【http://www.cnblogs.com/kirinboy/archive/2009/08/26/intensive-delegate-1.html】<br />委托,本是一个非常基础的.NET概念,但前一阵子在园子里却引起轩然大波。先是Michael Tao的随笔让人们将委托的写法与茴香豆联系到了一起,接着老赵又用一系列文章分析委托写法的演变,并告诫“嘲笑孔乙己的朋友们,你们在一味鄙视“茴”的四种写法的同时,说不定也失去了一个了解中国传统文化的机会呢!”。<br />在我个人转载 2010-10-18 21:49:00 · 426 阅读 · 0 评论 -
委托之二
<br />文本转自http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html感谢作者张子阳<br />欢迎浏览本文的后续文章: C#中的委托和事件(续)<br />PDF 浏览:http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf<br />文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如转载 2010-10-18 22:08:00 · 475 阅读 · 0 评论 -
托管代码的执行过程
代码第一次编译形成IL中间语言的托管代码,在运行时被Class Loader装载后进行JIT第二次编译形成托管的本地代码。在执行过程中,它会不断地检查当前我们执行的代码的安全性和规范性。Class Loader在装载可执行程序exe或者动态链接库dll的时候,它不是把所有的exe和dll当中的类库全部装载到内存里面。它是先装载一部分,即Main函数所在的文件,然后在执行过程中Class Loader会不断地判断当前执行过程中所要调用的方法是否已被装载到内存中了,如果没有,它会实时地去装载一些没有被装载的代码原创 2010-11-20 15:24:00 · 1182 阅读 · 0 评论 -
.NET 基础
<br />http://www.cnblogs.com/cdts_change/archive/2010/10/07/1845233.html原创 2010-11-19 20:12:00 · 441 阅读 · 0 评论 -
New2011_抽象类,接口
public abstract class Shape { protected int height, width; protected int xpos, ypos; protected Pen bPen;原创 2010-12-11 09:27:00 · 514 阅读 · 0 评论 -
New2011_装箱和拆箱 浅析深入
C#中的数据类型包括值类型、引用类型和指针类型,而指针类型只有在不安全代码中使用。值类型包括简单类型、结构和枚举,引用类型包括类、接口、委托、数组和字符串等。为了保证效率,值类型是在栈中分配内存,在声明时初始化才能使用,不能为NULL,而引用类型在堆中分配内存,初始化时默认为NULL。值类型超出作用范围系统自动释放内存,而引用类型是通过垃圾回收机制进行回收。由于C#中所有原创 2008-11-27 11:55:00 · 774 阅读 · 0 评论 -
2011_New_Out Ref 面试题举例说明
方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参原创 2010-11-18 17:11:00 · 540 阅读 · 0 评论 -
.NET和SQL Server中“空值”辨析 (DBNull与Null的区别)
初学数据库编程我们可能会有一些对“空值”的疑问,比如通过编程新建的一个表中所有数据皆显示为,手动添加并删除文字后又变成了空白;一个字符串类型的字段,明明没有填值,却不等于"";用ADO.NET从数据库中取值,每遇到有的就出错……这需要我们正确认识.NET和SQL Server中几原创 2010-11-10 15:19:00 · 5136 阅读 · 0 评论 -
2011New_C#_深入剖析静态变量 面试题
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Program { class staticclass { static int coun原创 2008-12-01 13:38:00 · 687 阅读 · 0 评论 -
2011New_C#中的代理与事件_猫叫人醒鼠跑
(原创:http://hi.baidu.com/grayworm)代理与事件是DotNet的两个重要概念,但好多朋友感觉没有这两个概念照样能够进行常规的DotNet开发。其实深入理解这两个概念对DotNet研究非常重要,尤其在WCSF的开发时,如果不理解这两个概念那你就很难把View层和Presenter层的代码进行分离。以前从网上看过几篇这方面的文章,总感觉有点晦原创 2009-07-08 11:18:00 · 1034 阅读 · 0 评论 -
String.Empty,NULL和""的区别
今日在协助一个项目团队作一个日本项目的修改,其中大体业务是由于技术和业务层次的更迭,导致现在的数据库交陈旧,同时一些字段需要添加和更换,于是作了一个数据库移植的程序让客户使用。具体涉及到了2大业务数据表,一个是Master 一个是Data 根据客户写好的式样书进行修正原创 2011-10-11 10:17:52 · 738 阅读 · 0 评论 -
委托之三
<br />本文来自http://www.cnblogs.com/bruceleeliya/archive/2009/06/09/1499354.html<br />参考:<br /> 框架设计(第二版):CLR Via C#——15.4 委托揭秘(P281)<br />正文:<br /> 代码1-1,这是一个简单的委托使用。using System;<br />using System.Collections.Generic;<br />using System.Text;<br /><br转载 2010-10-18 22:27:00 · 438 阅读 · 0 评论 -
屏蔽CTRL-V
<br />在WinForm中的TextBox控件没有办法屏蔽CTRL-V的剪贴板粘贴动作,如果需要一个输入框,但是不希望用户粘贴剪贴板的内容,可以改用RichTextBox控件,并且在KeyDown中屏蔽掉CTRL-V键,例子:<br />private void richTextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)<br />{<br /> if(e.Control && e.KeyCode==Keys.V)<b原创 2010-10-20 18:57:00 · 698 阅读 · 0 评论 -
C#_如何在TextBox获得焦点的时候,将焦点放在textBox文字的最后
textBox1.SelectionStart = textBox1.Text.Length;原创 2008-11-27 11:58:00 · 9192 阅读 · 1 评论 -
C#_读取文本------ 保存文本----功能的实现
引入using System.IO读取文本------ // 从应用程序所在的当前目录开始 openFileDialog1.InitialDirectory = System.IO.Directory.GetCurrentDirectory(); openFileDialog1.Filter = "txt files (*.tx原创 2008-11-28 12:04:00 · 861 阅读 · 0 评论 -
复制粘贴
private void button3_Click(object sender, System.EventArgs e){if (this.richTextBox1.Text.Length != 0){ Clipboard.SetDataObject(richTextBox1.Text, false); }}private void button4_Click(objec原创 2008-11-28 12:15:00 · 591 阅读 · 0 评论 -
C#_委托
什么是委托 首先要知道什么是委托,用最通俗易懂的话来讲,你就可以把委托看成是用来执行方法(函数)的一个东西。如何使用委托 在使用委托的时候,你可以像对待一个类一样对待它。即先声明,再实例化。只是有点不同,类在实例化之后叫对象或实例,但委托在实例化后仍叫委托。声明,如:1 namespace Vczx.ProCSharp.Exc2 {3 deleg转载 2008-11-28 19:33:00 · 643 阅读 · 0 评论 -
String.Split()函数
我们在上次学习到了 String.Join函数(http://blog.youkuaiyun.com/zhvsby/archive/2008/11/28/3404704.aspx),其中用到了String.SPlit函数,所以可以上网查了该函数的使用方法 如下: #中使用string.Split方法来分割字符串的注意事项:string.Split给我们提供了非常灵活的使用方式, 但是如果使用不当, 会转载 2008-11-28 19:56:00 · 119552 阅读 · 7 评论 -
String.Join
String.Join在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。(来源于MSDN)有两个重载函数:[C#]public static string Join( string separator, string[] value);[C#]public static string Join( string separato转载 2008-11-28 19:51:00 · 7880 阅读 · 0 评论 -
C#_DateTime类型
-- DateTime.Today .DayOfYear.ToString()---用来判断当天是今年的第几天-- -- DateTime.Today.DayOfWeek.ToString()----用来判断当天是当周的星期几-- -- DateTime.IsLeapYear(Convert.ToInt32(DateTime.Now.Year.ToString()))---原创 2008-12-01 12:50:00 · 654 阅读 · 0 评论 -
C#_屏蔽alt + F4
1.KeyPrieview---->true2.KeyDown eventprivate void Form_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e){ if ((e.KeyCode == Keys.F4)&&(e.Alt == true)) { e.Handled = true; } }原创 2008-12-01 14:17:00 · 839 阅读 · 0 评论 -
Array.Reverse 方法
反转一维 Array 或部分 Array 中元素的顺序。名称 说明 Array.Reverse (Array) 反转整个一维 Array 中元素的顺序。 由 .NET Compact Framework 支持。 Array.Reverse (Array, Int32, Int32) 反转一维 Array 中某部分元素的元素顺序。原创 2008-12-01 11:42:00 · 13417 阅读 · 0 评论 -
C#_复合构造函数
某些编程语言的类提供了复制构造函数,即从当前类实例构造一个新的类实例。在C#编程语言中,没有提供复制构造函数,如果要实现复制构造的功能,就必须自行编写这样的构造函数。本示例主要说明了如何实现复制构造函数,技术要点如下。— 复制构造函数仍然属于构造函数,不同的是以类本身作为参数的数据类型。— 调用构造函数时,参数必须是已经创建的类实例。using System;using转载 2008-12-01 11:49:00 · 1074 阅读 · 0 评论 -
在TreeView中右键选择Node,并弹出自定义上下文菜单
在网络上SS到一篇如何在TreeView控件的节点上进行自定义右键功能.自己正好也对这方面进行欠缺于是做了一遍,结合这位兄弟的帖子自己再加强一次.前提控件使用:TreeView控件+ContextMenu控件 private void contextmenu_Click(object sender, EventArgs e) { Me转载 2010-02-27 09:49:00 · 1351 阅读 · 0 评论 -
DateTime类型[C#]
从.NET Framework 1.0开始DateTime类型来表示一个日期时间类型,它是一个结构类型,并且不可以为空,这在一定程度上给我们在往数据库中保存数据时带来了很大的麻烦,因为我们知道,在数据库中datatime类型是可以为Null的,为了解决这个问题,不得不经常使用DateTime.MinValue来表示,但这并不是我们想要的。 DateTime dt = new DateTime(); //0001-01-01 00:00:00 DateTime dtMin = DateTime原创 2010-10-13 19:34:00 · 2914 阅读 · 0 评论 -
托管和非托管资源概念
<br />对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作。也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有必要的内存管理任务。<br /> <br />对于非托管资源,您在应用程序中使用完这些非托管资源之后,必须显示的释放他们,例如System.IO.StreamReader的一个文件对象,必须显示的调用对象的Close()方法关闭它,否则会占用系统的内存和资源,而转载 2010-10-16 11:12:00 · 878 阅读 · 0 评论 -
Textbox控件增加最大长度属性
<br />http://www.cnblogs.com/lemony/archive/2007/04/10/707474.html<br />一直以来都知道,在 sql server 中,varchar类型是按字节计算的。例如 varchar(50) 可以存储50个英文字符,但只能存储25个中文字符(一个中文字符2个字节)。改为 nvarchar 可以解决这个问题,但在写sql语句的时候必须加上N标识,否则会产生乱码。<br /><br />但最近用 C# 做数据库项目,才知道问题很严重。本来输入的合法转载 2010-10-16 18:57:00 · 7542 阅读 · 1 评论 -
托管和非托管资源概念二
<br />Finalize 和Dispose(bool disposing)和 Dispose() 的相同点:<br />这三者都是为了释放非托管资源服务的.<br />Finalize 和 Dispose() 和Dispose(bool disposing)的不同点:Finalize是CRL提供的一个机制, 它保证如果一个类实现了Finalize方法,那么当该类对象被垃圾回收时,垃圾回收器会调用Finalize方法.而该类的开发者就必须在Finalize方法中处理 非托管资源的释放. 但是什么时候会调用转载 2010-10-16 11:14:00 · 491 阅读 · 0 评论 -
NEC项目积累--String.IsNullOrEmpty
首先在效率方面比较的是String.IsNullOrEmpty 其实这种用法和s == null || s.Length == 0这种判断方法并无太大区别。只是在速度上可能后者比前者快那么一点点(百万毫秒级别上的),但是瑕不掩瑜,前者便于阅读代码。在对效率要求不高的时候,还原创 2011-10-11 10:27:38 · 880 阅读 · 0 评论