分享
 
 
 

[原创] Questioning C# (三)

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Q:今天我的侄子问我1+1等于多少,我说当然是2咯,他很狡猾的笑着说我错了,然后我问他为什么错,他瞄了我一眼说:“根本无法确定一个唯一的答案,在数学上你可以很确定的说是2,不过我并没有限定范围哟!”那一瞬间我想个傻子被他嘲弄了一番。

A:哈哈。看来你的侄子的确聪明过人。没错,没有限定范围,我们当然无法给出一个确定的答案,这也跟我们今天的话题——类型和类型系统有关。

Q:不会吧?跟我们的C#话题有关??怎么个有关法?

A:嗯,这样吧,我问你,要使得1+1的结果有效,我们至少要为这两个“1”限定一些什么条件?

Q:他们应该具有可加性。

A:在具体一点!

Q:嗯,他们应该是同一类别的。

A:对!非常对!就是同一类别,我们总不能要求一个苹果加上一台风扇会有满意的唯一的结果吧!同样的道理,我们要使得相关的式子在电脑上有效,至少我们要限定每一个被操作的因子都是可以归为某一个类别的。这就导出了类型(Type)。

Q:那么,这个跟C#的类型有什么联系呢?

A:这样吧,我们不说1+1了,我们说说你老婆每个月的家庭财政管理工作。我敢肯定,你老婆不会愚蠢到把数字跟物品混在一起计算收支的情况,她肯定会把相关的物品先进性换算,而实际上,我们每个人在处理财务工作的时候,都统一使用以货币为单位的数字,对吗?假如你这个月收入10000元,支出5000元,那么你可以很快地得出结论,你们这个月有5000元可以存入银行。但这等事怎么在电脑里,我的意思是在C#里面表达呢?电脑没有我们那么聪明,知道10000-5000=5000,因为它不能够从这个简单的式子里面知道这些数字是什么类型的。于是,我们就要首先告诉他这些数字的类型!

Q:那么,我们怎么告诉C#这些额外的信息呢?

A:这个很简单,我们计算的时候有小数的吧,在电脑里面叫做浮点数,我们只要告诉电脑,这些是浮点数,再告诉他这条式子,它就会给出结果我们的了。别的不说,我们先来看看代码:

double inComing = 10000.00;

double outGoing = 5000.00;

double result = inComing - outGoing;

然后你得到的result就是算出的结果:5000了。

Q:这些inComing、outGoing、result等,是什么来的?double又是什么来的?

A:首先,double是指双精度浮点数,你目前知道它是一种精度高的浮点数就行了,与它对应的是精度低的单精度浮点数float。而inComing、outGoing、result这三个东西是变量(Variable)。变量是用来储存信息的,以便我们后面的操作使用的。上面的代码就等于先告诉电脑:我这个月的收入是10000元,支出是5000元,我现在要你给我计算出我这个月剩下多少钱。

Q:噢,我明白了。那么,上面的代码可以运行吗?

A:还不行,因为这个仅仅是一个代码片断,不过要运行的话,我们只需要把这个片断跟之前的HelloWorld结合一下就行了,结合后的代码是:

class PrintResult

{

static void Main()

{

double inComing = 10000.00;

double outGoing = 5000.00;

double result = inComing - outGoing;

System.Console.WriteLine(result);

}

}

还记得System.Console.WriteLine(...);这句话吗,它的作用就是用来向命令行界面输出东西的,这次我们不输出Hello, World! 而改为输出result。现在,你把这个代码保存为PrintResult.cs,然后去到命令行提示符,转到PrintResult.cs所在目录键入csc PrintResult.cs进行编译,最后键入PrintResult运行一下!

Q:好,我明白了,不过我有一个问题想问问,为什么HelloWorld程序和我老婆的财务工作加起来?他们同一类型的吗?:)

A:-_- ...

Allen Lee

上一篇

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有