Welcome 微信登录

首页 / 软件开发 / C#

VC#2005快速入门之使用do语句

VC#2005快速入门之使用do语句

VC#2005快速入门之使用do语句2010-12-13while和for语句都在循环开始的时候测试它们的布尔表达式。这意味着假如在首次测试时,布尔表达式就求值为false,那么循环主体一次都不会运行。do语句则不同,它的布尔表达式是在每次重复之后求值的,所以主体至少会执行一次。do语句的语法如下(不要忘记最后的分号):dostatementwhile (booleanExpression);如果循环主体由多个语句构成,请使用一个语句块。下面是在控制台上输...
Effective C#原则36:利用.Net运行时诊断

Effective C#原则36:利用.Net运行时诊断

Effective C#原则36:利用.Net运行时诊断2010-12-13 博客园 Wu.Country@侠缘译当有问题发生时,它们往往并不是在实验的时候发生的,机器有轻松调试的 工具。在很多实际情况中,你不好修正的问题总是发生在用户的机器上,那里没 有调试环境,也没有好的方法计算出问题的情况。在实际情况中,有经验的开发 人员会创建一个方法,让系统在运行时捕获尽可能多的信息。.Net框架已经包含 一些类集合,利用这些集合,你可以做一些通用的调试。而且这些...
Effective C#原则37:使用标准的配置机制

Effective C#原则37:使用标准的配置机制

Effective C#原则37:使用标准的配置机制2010-12-13 博客园 Wu.Country@侠缘译我们要寻求一种避免直接写代码的应用程序配置和信息设置方法,我们已经 创建了多种不同的策略来存储配置信息。而我们是要寻求一种正确的方法,我们 要不断提高和改我们的想法,关于哪里是放置这些信息的好地方。INI文件?这 是Windows3.1做的事,配置信息的结构是受限制的,而且在文件名上可能还会与 其它程序程序相冲突。注册表?是的,是这个正确的想法,但...
Effective C#原则39:使用.Net验证

Effective C#原则39:使用.Net验证

Effective C#原则39:使用.Net验证2010-12-13 博客园 Wu.Country@侠缘译用户的输入可能是多种多样的:你必须在交互式的控件中尽可能的验证输入 。写一些用户输入验证可能很做作,而且也有出错的可能,但还是很有必要的。 不能太相信用户的输入,用户可能会输入任何内容导致异常发生,进而进行SQL 注入式攻击。我们不希望任何类似这样的事情发生。你应该了解足够的信息来怀 疑用户的输入。很好,每个人都应该这样做,这也就是为什么.Net框架...
Effective C#原则40:根据需求选择集合

Effective C#原则40:根据需求选择集合

Effective C#原则40:根据需求选择集合2010-12-13 博客园 Wu.Country@侠缘译“哪种集合是最好的?”答案是:“视情况而定。” 不同的集合有不同的性能,而且在不同的行为上有不同的优化。.Net框架支持很 多类似的集合:链表,数组,队列,栈,以及其它的一些集合。C#支持多维的数 组,它的性能与一维的数组和锯齿数组都有所不同。.Net框架同样包含了很多特 殊的集合,在你创建你自己的集合...
Effective C#原则41:选择DataSet而不是自定义的数据结构

Effective C#原则41:选择DataSet而不是自定义的数据结构

Effective C#原则41:选择DataSet而不是自定义的数据结构2010-12-13 博客园 Wu.Country@侠缘译因为两个原则,把DataSet的名声搞的不好。首先就是使用XML序列化的 DataSet与其它的非.Net代码进行交互时不方便。如果在Web服务的API中使用 DataSet时,在与其它没有使用.Net框架的系统进行交互时会相当困难。其次, 它是一个很一般的容器。你可以通过欺骗.Net框架里的一些安全类型来错误 DataSet...
Effective C#原则42:使用特性进行简单的反射

Effective C#原则42:使用特性进行简单的反射

Effective C#原则42:使用特性进行简单的反射2010-12-13 博客园 Wu.Country@侠缘译当你创建了一个与反射相关的系统时,你应该为你自己的类型,方法,以及 属性定义一些自己的特性,这样可以让它们更容易的被访问。自定义的特性标示 了你想让这些方法在运行时如何被使用。特性可以测试一些目标对象上的属性。 测试这些属性可以最小化因为反射时可能而产生的类型错误。假设你须 要创建一个机制,用于在运行时的软件上添加一个菜单条目到一个命令句柄上。...
Effective C#原则43:请勿滥用反射

Effective C#原则43:请勿滥用反射

Effective C#原则43:请勿滥用反射2010-12-13 博客园 Wu.Country@侠缘译创建二进制的组件时,同时也意味着你要使用迟后绑定和反射来查找你所须 要的具有特殊功能代码。反射是一个很有力的工具,而且它让你可以写出可动态 配置的软件。使用反射,一个应用程序可以通过添加新的组件来更新功能,而这 些组件是在软件最开始发布时没有的。这是有利的。这一伸缩性也带来 了一些复杂的问题,而且复杂问题的增加又会增加出现其它问题的可能。当你使 用反射时...
Effective C#原则44:创建应用程序特定的异常类

Effective C#原则44:创建应用程序特定的异常类

Effective C#原则44:创建应用程序特定的异常类2010-12-13 博客园 Wu.Country@侠缘译异常是一种的报告错误的机制,它可以在远离错误发生的地方进行处理错误。所有关于错误发生的的信息必须包含在异常对象中。在错误发生的过程中,你 可能想把底层的错误转化成详细的应用程序错误,而且不丢失关于错误的任何信 息。你须要仔细考虑关于如何在C#应用程序中创建特殊的异常类。第一步就是 要理解什么时候以及为什么要创建新的异常类,以及如何构造继承的异...
Effective C#第6章:杂项

Effective C#第6章:杂项

Effective C#第6章:杂项2010-12-13 博客园 Wu.Country@侠缘译有些内容不合适专门做一个目录,但这并不是说它们不重要。对于每个人来说,理解代码的安全访问策略是很重要的,就像明白异常处理策略一样。其它的一些推荐资料是关于经常变化的一些东西,因为C#本身也是一门在发展的语言,要与最新的标准和资讯进行交流。这些变化值得注意一下,而且要为这些变化做准备,它们会在以后溶入到你的工作中。返回教程目录...
Effective C#原则45:选择强异常来保护程序

Effective C#原则45:选择强异常来保护程序

Effective C#原则45:选择强异常来保护程序2010-12-13 博客园 Wu.Country@侠缘译当你抛出异常时,你就在应用程序中引入了一个中断事件。而且危机到程序 的控制流程。使得期望的行为不能发生。更糟糕的是,你还要把清理工作留给最 终写代码捕获了异常的程序员。而当一个异常发生时,如果你可以从你所管理的 程序状态中直接捕获,那么你还可以采取一些有效的方法。谢天谢地,C#社区不 须要创建自己的异常安全策略,C++社区里的人已经为我们完成了所...
Effecitve C#原则46:最小化与其它非托管代码的交互

Effecitve C#原则46:最小化与其它非托管代码的交互

Effecitve C#原则46:最小化与其它非托管代码的交互2010-12-13 博客园 Wu.Country@侠缘译在开发设计.Net时,MS所做的最聪明的修改之一就是他们意识到,如果没有 办法整合已经存在的代码到新的.Net环境中,那没没有人会接受这个新的平台。 MS知道,如果没有办法来利用已经存在的代码,这将阻止大家接受它。与其它非 托管代码的交互是可以工作了,但这是可交互唯一可以拿来说一下的有利的地方 。对于所有的交互策略,当操作流程在本地代码和...
Effective C#原则47:选择安全的代码

Effective C#原则47:选择安全的代码

Effective C#原则47:选择安全的代码2010-12-13 博客园 Wu.Country@侠缘译.Net运行时已经设计好了,一些怀有恶意的代码不能渗透到远程计算机上并 执行。目前一些分部式系统依懒于从远程机器上下载和执行代码。如果你可以通 过Internet或者以太网来发布你的软件,或者直接从web上运行,但你须要明白 CRL在你的程序集中的一些限制。如果CLR不是完全相信一个程序集,它会限制一 些的行为。这些调用代码要有访问安全认证(CAS)。...
Effective C#原则48:了解更多的工具和资源

Effective C#原则48:了解更多的工具和资源

Effective C#原则48:了解更多的工具和资源2010-12-13 博客园 Wu.Country@侠缘译对于C#以及.Net来说这是激动人心的时候。这些工具目前还是比较新的,整 个社区都在学习如何使用这些工具。一些资源可以帮助你提高你的知识,以及为 .Net和C#创建一个更大的知识社区。这些工具是我每天都向C#开发人员推荐的。 关于C#实践的全部内容还在写作当中,跟进它们而且不断了解相关的内容。第一个应该在每一个C#开发人员的工具箱的工具是NUni...
Effective C#原则49:为C#2.0做好准备

Effective C#原则49:为C#2.0做好准备

Effective C#原则49:为C#2.0做好准备2010-12-13 博客园 Wu.Country@侠缘译C#2.0,在2005年已经可以使用了,它有一些主要的新功能。这样使得目前使 用的一些最好的实际经验可能会有所改变,这也会随着下一代工具的发布而修改 。尽管目前你还可以不使用这些功能,但你应该这些做些准备。当 Visual Studio .net2005发布后,会得到一个新的开发环境,升级的C#语言。附 加到这门语言上的内容确实让你成为更有工作效...
《Effective C#》之减少装箱和拆箱

《Effective C#》之减少装箱和拆箱

《Effective C#》之减少装箱和拆箱2010-12-13 天极 愚翁为了便于文章的开展,首先介绍装箱(Boxing)和拆箱(Unboxing)这两个名词 。.Net的类型分为两种,一种是值类型,另一种是引用类型。这两个类型的本质 区别,值类型数据是分配在栈中,而引用类型数据分配在堆上。那么如果要把一 个值类型数据放到堆上,就需要装箱操作;反之,把一个放在堆上的值类型数据 取出来,则需要进行拆箱操作。例如,对于如下简单的装箱和拆箱操作 语句。int ...
<< 51 52 53 54 55 56 57 58 59 60 >>