首页 新闻 会员 周边 捐助

【菜鸟】c#中console.writreline 和c++中的 cout的几个问题求解?

0
悬赏园豆:10 [已解决问题] 解决于 2013-01-23 11:27

如题,新手刚才从简单的学习完c++以后转到c#,我觉得c++中的cin和cout比较好用,而c和c#中的printf和console.writeline用起来比较麻烦,那么为什么c#中能不能使用cin和cout呢?

 

console.writeline和cout有什么区别? 是console.writeline的表达更为准确么?

Thanatos_L的主页 Thanatos_L | 初学一级 | 园豆:187
提问于:2013-01-22 14:37
< >
分享
最佳答案
0

应用来说,你可以当没什么区别。为何C#里面没有cout与cin,包括fgets、fopen之类的,哪怕memcpy都没。原因在于,C#里面贯彻的是对象的概念。你应该发现了,在C#里面,所有方法或者变量都必须在类里面,所有执行的语句,除了在声明时赋值的语句都必须位于方法里面。这是为了强调所有皆对象,所有操作皆对象的行为,所有变量皆对象的属性(临时变量除外,毕竟完全面向对象,没有一点的面向过程的话,那么程序也就没法写了,都是相对的)。这也是C#自己的一个卖点吧,就差点把方法封装成对象了,不过现在这个趋势越来越有点了。C++虽然也自称面向对象,实际上,也很多地方面向对象了,至少很多C++程序员会使用class,而不是c程序员只有struct供选择,但C++本身就是兼容C的,作为自己的卖点之一吧,里面面向过程的思维很多。

这么说你应该明白了吧。cout就是个操作,不属于任何对象,用起来,除了要引用iostream,using namespace std;之外,相对很轻便。但对于C#来说,操作是行为,只能是对象的行为,他必须归附于某个对象才能存在,所以C#就是Console.Write。虽然是静态方法,但为了对象而对象吧,也算没办法的办法,毕竟要维持原则统一。

收获园豆:10
BLoodMaster | 初学一级 |园豆:135 | 2013-01-23 01:19

楼上有人说得也是对的。cout可以重定向。其实重定向的是>>与<<操作符。其实还是面向过程面向对象的区别。我们调用cout,其实我们也不知道输出到屏幕了还是文件,当然要是看代码,肯定是知道了。但是console就是控制台,她表示控制台这个对象,所以他的writeline表示写到控制台上。当然你自己也可以实现Print.Write表示输出到打印机。这么说,其实,应该很明白了。一个语言,一套思想,思想不同,导致细节不同。功能来说,彼此彼此

BLoodMaster | 园豆:135 (初学一级) | 2013-01-23 01:23
其他回答(2)
0

cout 可以指定不同的输出设备,比如文件、控制台、流等。

Console.WriteLine 看名字就知道只能在控制台输出。

Launcher | 园豆:45050 (高人七级) | 2013-01-22 14:50

也谢谢你的回答,让我想起了cout可以输出到文本什么的.

支持(0) 反对(0) Thanatos_L | 园豆:187 (初学一级) | 2013-01-23 11:28
0

这是它本身的规则,使用这个,就得遵循。至于有啥优缺点,一个,我想是各有千秋,c++和c#的适用面还是有区别的,相应的突出的特点肯定是不同的,甚至截然相反;再一个,还没有哪个编程语言算得上是完美,非常适合所有开发吧

指尖的乐律 | 园豆:237 (菜鸟二级) | 2013-01-22 18:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册