随笔分类 - C#
C#
摘要:原文地址:http://www.cnblogs.com/fhuafeng/archive/2009/09/10/1564279.htmlMicrosoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够
阅读全文
摘要:摘要:《C#入门经典(第5版)》第8章面向对象编程简介,本章首先介绍OOP的基础知识,包括回答最基本的问题"什么是对象?"。本章还将进入一个对于全面理解OOP非常重要的领域:Windows Forms应用程序。本节为大家介绍静态和实例类成员。 8.1.4 静态和实例类成员属性、方法和字段等成员是对象实例所特有的,此外,还有静态成员(也称为共享成员,尤其是Visual Basic用户常常使用这个术语),例如静态方法、静态属性或静态字段。静态成员可以在类的实例之间共享,所以可以将它们看作是类的全局对象。静态属性和静态字段可以访问独立于任何对象实例的数据,静态方法可以执行与对象类型相关、但与对象实例
阅读全文
摘要:一.类与结构的示例比较: 结构示例:类示例:调用过程:从上面的例子中我们可以看到,类的声明和结构的声明非常类似,只是限定符后面是 struct 还是 class 的区别,而且使用时,定义新的结构和定义新的类的方法也非常类似。那么类和结构的具体区别是什么呢?二 .类与结构的差别 1. 值类型与引用类型结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 system.string 结构 ,通过使用结构可以创建更多的值类型类是引用类型:引用类型在堆上分配地址堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处
阅读全文
摘要:原文地址:http://developer.51cto.com/art/201009/228000.htmC#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门,经历10年的发展,C#已经成为编程语言领域强有力的竞争者,每一年我们都能看到它的进步,每一个新版本都加入了许多新特性,总的来说,作为一门编程语言,它没有让C#开发者社区失望。Visual Studio亦是如此,新版本的Visual Studio 2010所带来的新特性也让开发者们兴奋不已。本文下篇请点击这里。对开场白没兴趣?好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使
阅读全文
摘要:C#静态类和静态类成员具体的使用是如何的呢?他们会起到什么作用呢?那么本文就向你详细介绍这方面的内容。C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。让我们来看看静态类:类可以声明为static的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR) 自动加载。使用静态类来包含不与特定对象关联的方法。例如
阅读全文
摘要:原文地址http://www.cnblogs.com/yuerlovenet/archive/2007/11/07/951709.html一、什么是静态类所谓静态类即在类的前面用static关键字来修饰的类。这样的类1,不能被实例化2,是密封类3,仅包含静态成员4,不包含实例构造函数二、为什么使用静态类静态类无需创建实例,用类名就可能直接访问其成员,这时也许有人会说了,如果我只把我的成员写成static的,类不标志为静态的,我用类的名字也可访问静态的成员啊,何必多此一举非要把类标志为static的呢?这有就有一说了,上面那样,的确可以做到,这个类既包含静态成员,又包含实例成员,如果用类名直接就
阅读全文
摘要:原文地址:http://blog.csdn.net/bitfan/archive/2006/12/13/1441952.aspx在实际程序中,String类型用得非常广泛,然而,由于.NET对String类型变量的独特管理方式,使用不当,会严重影响程序的性能。我们分几个方面来谈这个问题:1 了解String数据的内存分配方式编写一个控制台应用程序,输入以下测试代码: class Program { static void Main(string[] args) { String s = "a"; s = "abcd"; } }使用.NET Framework 2.0 SDK提供的ildasm.
阅读全文
摘要:原文地址:http://www.cnblogs.com/bitfan/archive/2010/12/10/1902271.html4 我“连网”了吗? 好了,有了前面的铺垫,现在解决判断计算机连网问题水到渠成,其思路很简单: (1)检测一下计算机中的所有网络接口状态,只要都为“Down”,没说的,肯定没连网。 (2)从状态为“Up”的网络接口中选一个(注意排除掉环回接口Loopback),获取其网关和DNS服务器地址,先Ping一下它的网关,如果能Ping通,再Ping一下DNS服务器,看看能不能Ping通。 如果网关Ping不通,就换一个“Up”的网络接口试一试,重复上述过程,直到检测完
阅读全文
摘要:原文地址:http://www.cnblogs.com/bitfan/archive/2010/12/10/1902257.html1 引子 我相信几乎所有人都知道,Windows操作系统能自动检测出是否本地计算机已经连上网络,并且在任务栏右下角会显示相应的图标(图 1):图 1 对于软件开发者而言,这一功能是比较有用的。比如,你可以在用户连上互联网时,自动检测你所开发的软件是否有更新。 下面我们就聊聊如何在.NET应用软件中克隆Windows的这一功能。 2 “你到底有几个好妹妹”? 不要误会,我不是在教大家唱孟庭苇的这首歌,只是活跃一下气氛罢了。 :) 在这里引用这句歌词,其目的是引出
阅读全文
摘要:原文地址:http://www.cnblogs.com/bitfan/archive/2010/12/06/1897829.html4.IP终结点 现在介绍.NET网络开发中最重要的一个概念——IP终结点,.NET基类库中使用IPEndPoint类型代表它。 要想理解它,还得从TCP/IP说起。 前面说过,所有连在网络上的计算机都必须要有一个唯一的IP地址,它用于区分开网络上的不同计算机,现在的问题是:一台网络计算机上可能跑着多个网络应用程序,它们可能会使用同一个网络接口从网络中接收(或发送)数据,因而共享同一个IP地址,在这种情况下,你怎么将到达主机的数据包转发给真正的“需求者”? 为了解
阅读全文
摘要:原文地址:http://www.cnblogs.com/bitfan/archive/2010/12/06/1897797.html=================================================== 互联网连接了不可计数的计算机,如何区分它们是一个必须认真考虑的问题,正如人使用“姓名”进行区分一样,每一台直接连上互联网的计算机也必须有一个唯一的标识,不然,在互联网上传播的信息,如何找到它预期的接收者?1. IPv4与IPv6 IP地址正是用于区分直接连接在互联网上计算机的一种手段,当前广泛使用的IPv4中,使用4个字节来标识互联网主机,比如百度的IP地址就是
阅读全文
摘要:出处见文章结尾。以下是本文所要介绍的内容:1、静态构造函数2、静态成员与常量一、静态构造函数 前段时间经常看到园子里有朋友发面试题,其中比较有代表性的就是静态构造函数了,有兴趣的朋友可以搜索下看看,我这边也就顺便补习下静态构造函数的知识:1、静态构造函数永远优先与其他构造函数。2、静态构造函数是在首次访问所在类的第一个成员时进行的,并且只会执行一次。3、静态构造函数没有参数,不需要任何访问修饰符,有.NET runtime运行。4、类中一旦包含静态构造函数,那么编译器会自动插入一段检查代码负责检查所有静态成员和构造,以确保其优先运行。所以在了解了以上知识后再看下面的代码就会清楚很多:01cla
阅读全文
摘要:原文地址:http://www.cnblogs.com/michaelxu/archive/2007/03/29/693401.html静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 classSimpleClass{//StaticconstructorstaticSimpleClass(){//}} 在使用静态构造函数的时候应该注意几点: 1、静态构造函数既没有访问修饰符,也没有参数。
阅读全文
摘要:一组默认光标。命名空间: System.Windows.Input程序集: PresentationCore(在 PresentationCore.dll 中)属性属性 名称说明AppStarting 获取在应用程序启动时显示的 Cursor。Arrow 获取箭头 Cursor。 ArrowCD 获取带 CD Cursor 的箭头。 Cross 获取十字线 Cursor。 Hand 获取手形 Cursor。 Help 获取帮助 Cursor,它是箭头和问号的组合。IBeam 获取 I 型 Cursor,它用于显示单击鼠标时文本光标的出现位置。No 获取 Cursor,它表明不能在特定区域执行给
阅读全文
摘要:见MSDNShow() 打开一个窗口,并且仅在新打开的窗口关闭后才返回。 当 Window 类实例化时,默认情况下它是不可见的。Show 显示一个窗口并立即返回,而不等待该窗口关闭。因此,打开的窗口不会阻止用户与应用程序中的其他窗口交互。这种类型的窗口称为“无模式”窗口。无模式窗口的常见示例包括属性窗口、工具箱和调色板。若要限制用户与特定窗口交互,必须通过调用 ShowDialog 来打开窗口。 通过调用 Show 打开的窗口不会自动与打开它的窗口产生关系;具体说来,打开的窗口不知道是哪个窗口将它打开。可以使用 Owner 属性来建立这种关系,并使用 OwnedWindows 属性对其进行管理
阅读全文
摘要:本文摘自《C#高级编程(第6版)》。不过并不推荐初学者学习本书,初学者可以学习《C#入门经典》。《C#高级编程(第6版)》以.NET 3.5和VS2008为基础,是C# 2008及其环境的最终指南。本书首先介绍了.NET的体系结构和方法论,解释了C#语言不能孤立看待,而必须放在.NET Framework中考虑的原因。在论述了C#的基础知识之后,深入探讨了C#编程的所有内容。第33章介绍用GDI+绘图的功能。本节说的是世界、页面和设备坐标。33.5 世界、页面和设备坐标测量相对于文档区域左上角的位置和测量相对于屏幕(桌面)左上角的位置之间的区别非常重要,GDI+为它们指定了不同的名称:●世界坐
阅读全文
摘要:转载自http://www.cnblogs.com/miai/articles/1866849.htmlVS2010版快捷键 Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目CTRL + SHIFT + C显示类视图窗口F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显示资源视图F12 转到定义CTRL + F12转到声明CTRL + ALT + J对象浏览CTRL + ALT + F1
阅读全文
摘要:下面三种都是显示设备的物理坐标,它们在屏幕上用真实的物理像素表示 。屏幕坐标 Screen coordinates: 原点(0,0)位于屏幕的左上角窗口坐标 Window coordinates: 原点(0,0)位于窗口的左上角(包括非客户区,如标题条) 客户区坐标Client-window coordinates: 原点(0,0)位于客户窗口的左上角 逻辑坐标是GDI函数在屏幕上显示数据所用的坐标,逻辑坐标除非与物理坐标相关联,否则没有意义.windows依靠映射模式解释逻辑坐标.比如缺省的模式为MM_TEXT,该模式下,物理坐标与逻辑坐标是一对一的关系。
阅读全文
摘要:需要使用Point的三个静态方法[代码]这样是不正确的[代码]三个方法如下[代码]Round:通过将Point值舍入到最接近的整数值,将指定的PointF转换为Point对象。Truncate:实质上舍去小数部分并向0方向靠拢,比如坐标0.9和-0.9都变为0。Ceiling:向下一个最大的整数靠拢,如0.9变为1,-0.9变为0。
阅读全文