锐志社区
锐意进取、志存高远
2010大学生.NET暑期训练营上海、海南两地——MVP专家团队领衔新技术课程:ASP.Net MVC、Linq、JQuery、Entity Framework

六月 2009 - 安忍不动如大地,静虑深密如秘藏

  • 结构化编程的三重境界:见山还是山:朴素又正确的逻辑

    在上述的隔夜退房的逻辑代码中,我们用了五个嵌套,其中有五个计算,但实际上只有 3 种不同的计算,在这样的模式下,我们值得思考,是不是代码过于冗余了。 现在我们把隔夜代码改为如下 Code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> // 隔夜退房 if (outdate.Hour <= 11 || outdate.Hour ==...
  • 结构化编程的三重境界:见山不是山:正确但冗余的逻辑

    摘要: 因此我们了解到,我们需要更加精确的判断时间的界限。因此我们重新将代码改为如下:CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->staticvoidMain(string[]args){DateTimeindate=newDateTime(200 阅读全文 -------------------------- 新闻: 维基百科数月之内将会添加视频...
  • 结构化编程的三重境界:见山是山:朴素的直观逻辑编程

    《五灯会元》卷十七中,有一则青原惟信禅师的语录:“老僧三十年前未参禅时,见山是山,见水是水。及至后来亲见知识,有个入处,见山不是山,见水不是水。而今得个休歇处,依前见山只是山,见水只是水。”这描述了我们对世界的一个观察和思考的过程,只要我们对事物进行执着的观察和思考,那在认识事物的过程中总是会经过以上的三个不同的过程和境界。 我们在本节,将通过一个案例描述作为程序员应如何对待结构化编程的思考。首先描述业务:在酒店退房业务中有如下业务规则:按酒店的住房规则客户过夜算一天, 次日...
  • 数据类型转换:1人民币+1美元=?

    数据类型转换是我们从小学就开始学习的内容,只不过在小学我们称为单位换算。比如一条狗加一匹马等于是多少呢?总不是两条狗或两匹马吧。我们需要把单位转为都可以计算的单位,比如动物。结果就是两只动物。这样的转换,我们称为数据类型转换。 在 C# 中数据类型转换又分为隐式转换和显式转换。隐式转换是默认的转换,而显式转换就是必须明确说明的转换。 比如¥ 1+$1 的问题,在国际贸易结算中,默认将人民币转换为美元,那计算的结果是¥ 1+$1=$1.14 。但如果在国内贸易结算,就需要明确说明用什么货币基准来转换...
  • 值类型和引用类型和数据大小排名

    在 2.2.1 我们对 C# 的基本数据类型有了基本了解。 C# 将数据类型分为:值类型、引用类型和指针类型。 通用类型系统支持两种一般类别的类型,每一类都细分成子类别: q 值类型:值类型直接包含它们的数据,值类型的实例要么在堆栈上,要么内联在结构中。值类型可以是内联的(由运行库实现)、用户定义的或枚举的。有关内联值类型的列表,请参见 .NET Framework 类库。 q 引用类型:引用类型存储对值的内存地址的引用,位于堆上。引用类型可以是自描述类型、指针类型或接口类型。引用类型的类型可以由自描述类型的值来确定...
  • 异常:Exception

    我们开发了函数,当函数的调用者在使用函数的时候,我们希望函数的调用者可以正确的使用函数,比如给予函数正确的参数值。但在实际的过程中,函数的调用者可能由于各种原因给予了错误的值。在这种情况下,我们需要向调用者抛出错误信息,并中断程序的执行,这个过程我们称为异常。 程序必须能够统一处理在执行期间发生的错误。公共语言运行库提供了一个模型,以统一的方式通知程序发生的错误,从而为设计容错软件提供了极大的帮助。所有的 .NET Framework 操作都通过引发异常来指示出现错误。 传统上,语言的错误处理模型依赖于语言检测错误和查找错误处理程序的独特方式...
  • 模块化编程:函数定义

    在软件开发的过程中,我们经常会重复的使用一些代码片段,因此我们往往将这样的代码片段作为函数进行调用。 函数有 4 种模式的定义和使用 q 有参数,有返回值: y = f ( x ) q 有参数,无返回值: f ( x ) q 无参数,有返回值: y = f () q 无参数,无返回值: f () 在游戏、图形、建筑领域的软件应用中,我们经常需要计算几何图形的面积。对于这些经常需要使用的计算,我们往往将计算的代码封装为函数进行使用。 Code Code highlighting produced by...
  • 结构化编程:跳转控制break、continue

    在循环或条件判断执行中,我们有时候需要中断当前的执行控制, C# 提供了两个关键字 break 、 continue 。 continue 是用在循环语句中,将控制权传递给它所在的封闭迭代语句的下一次迭代。 break 语句用于终止最近的封闭循环或它所在的 switch 或 if 语句。控制传递给终止语句后面的语句(如果有的话)。 Code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter...
  • 结构化编程:确定迭代循环控制for

    很多时候的重复执行,是我们知道需要执行多少次。比如那道高斯经典的从 1 加到 100 的题目,用代码模拟高斯的同学的计算模型为如下 Code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> static void Main( string [] args) { int result = 0 ; for ( int i = 1 ; i <...
  • 结构化编程:不确定迭代循环控制do while

    很多时候,我们需要重复的执行一些代码,这样我们就需要迭代循环控制。以下案例描述了如何控制重复的执行。 假设,你购买房子的首付需要 30 万人民币,你入职工作的第一年,每月工资是 3500 ,以后每年薪水增长 20% 。你是一个很有计划的人,无论薪水多少,你都将收入的一半存起来。那么,你需要多少年可以存到你需要的首付呢? Code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter...
华大锐志软件开发涡轮式项目实训——华大锐志学员作品部分展示
上海锐学计算机科技有限公司
Powered by Community Server (Commercial Edition), by Telligent Systems