摘要: 做一个猜数的小游戏。程序随机生成一个0~100的数字,让用户猜,不停地给用户提示,猜得数字太大或太小,一直到用户猜中为止。 第一个要解决的问题是随机生成数字如何写。这一点我还是强烈建议同学要学会自己查看msdn。打开msdn,输入Random会看到相关的信息。找到微软示例。自己试试看吧。 第二个要解决的“不停地提示,直到..为止”。用计算机的语言来说,这就是循环。 C#的循环和C++的一样,就是f... 阅读全文
posted @ 2010-07-04 23:07 桔红糕 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 如果用户输入的不是数字。那么 就会抛一个System.FormatException的异常,导致程序意外终止。跟C++一样,我们可以捕捉住异常进行处理。C#的异常类都是继承自System.Exception的。如果想大小通吃,我们也可以catch(Exception e)。System.Exception有几个重要的属性,可以帮助了解异常的更多信息。System.Exception.Message... 阅读全文
posted @ 2010-07-04 22:09 桔红糕 阅读(413) 评论(0) 推荐(0) 编辑
摘要: C#中控制台的显示使用System.Console来实现。写就是Console.Write,读就是Console.Read,非常直观。并且我们看到打印是字符串的拼接用的是C字符串拼接的那一套规范,说实话,我对std::cout<<早就看不顺眼了,还是习惯C时代的sprintf,现在开心了,又回到了最熟悉的那种方式。打印的时候,还可以对内容进行Format 我们来写一短小代码吧——设定一... 阅读全文
posted @ 2010-07-04 21:09 桔红糕 阅读(244) 评论(0) 推荐(0) 编辑
摘要: System.String直接继承于System.Object,所以它绝对是一个引用类型。但是—— 它有昵称,叫string,也许是为了配合STL中的string吧。 创建一个string对象也不用new,直接赋值就可以了 string str=”123”; string的比对跟值类型相似,是按内容比对,而不是按地址比对。如果两个string都是 "A"那他们就是相等的。 ... 阅读全文
posted @ 2010-07-04 19:56 桔红糕 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 上一节我们知道C#的int, double是一种类型,而类型本身可以包含成员变量成员函数,所以C#中的int除了普通赋值外还可以有.操作。 再介绍几个常用的值类型。decimal也是个浮点数,它比double大一倍,比float大两倍。还有两个很好用的值类型一个叫做DateTime代表日期,一个叫做TimeSpan代表时间间隔。值类型也是没有NULL之说的。int只能赋值0,1,-1之类的值。不过... 阅读全文
posted @ 2010-07-04 18:25 桔红糕 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 这段看似和C++一模一样的局部变量定义代码,其实内部运行的方式有很大的差异。这些int, double不再是以往简单的内建类型,而是C#数据类型的别名。我们看一下CTS规定的,也就是C#所遵循的系统类型层次结构。 如图所示C#语言是单根的。也就是说所有的类型都集成于一个类,这个类叫做System.Object。所有直接继承于System.Object的类,都叫做引用类型。所有继承于ValueTyp... 阅读全文
posted @ 2010-07-04 17:37 桔红糕 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 说了那么多道理,我们写一个程序看看。 先熟悉一下开发环境。这次我们就用VS2010。 新建一个控制台项目。VS帮我们生成了这么一段代码。 最后,有一个main函数。static void Main(string[] args){}。看来在C#中程序的入口还是Main函数。不过还是略微有些差别。很重要的一点,是Main函数现在是属于某个具体类的函数,而不是全局函数了。C#中不存在任何全局变量或全局函... 阅读全文
posted @ 2010-07-04 16:13 桔红糕 阅读(226) 评论(0) 推荐(0) 编辑