您好,欢迎访问一九零五行业门户网

C#学习日记02--输入与输出

经过上篇的学习,已经对c#有了一个初步的认识,能够在vs2010中创建控制台应用程序,记得我刚开始学习c的时候老师也是这样教我们的,接下来就学习c#的输入与输出。
c#的输入与输出其实是引用system定义好的console.类型,
输入:  console.readline()    (读入一行string类型的字符串以回车键结尾),
console.read()   (接受从键盘输入的第一个字符,并返回它的ascii码值),
console.readkey()   (等待用户按下任意键,一次读入一个字符。);
输出:console.writeline()   (输出的内容显示在同一行,并且光标移到下一行),
console.write()   (输出内容显示在同一行,光标不换行)
下面我就写个程序,让我们输入 hc666祝你国庆快乐!!!  然后输出;
using system; using system.collections.generic; using system.linq; using system.text; namespace firstprogram { class program { static void main(string[] args) { string say = console.readline(); //因为它的返回值是string类型的所以定义的say也得是string类型 console.writeline(say); //输出say的类容并换行。。。。对比以下的输出 console.write("aaa"); //输出aaa不换行接着输出bbb console.write("bbb"); //输出为aaabbb } } }
我键入 hc666祝你国庆快乐!!! 再输入回车后输出结果显示为:
hc666祝你国庆快乐!!! hc666祝你国庆快乐!!! aaabbb
也许当你按下回车的时候,你的运行窗口会一闪而过然后就退出了,这是应为当程序执行完console.write("bbb");时就没有执行语句了所以就结束了退出。其实以前用c写程序的时候也有遇见,那时候可以在末尾的时候添加system("pause"); 或者写getchar(); 来让程序停顿,我想c#也适用吧!上网查了下console.readkey()果然可以其实他还有其他的功能,更多的还是用来暂停程序。于是我将console.readkey()添加在了末尾。
using system; using system.collections.generic; using system.linq; using system.text; namespace firstprogram { class program { static void main(string[] args) { string say = console.readline(); //因为它的返回值是string类型的所以定义的say也得是string类型 console.writeline(say); //输出say的类容并换行。。。。对比以下的输出 console.write("aaa"); //输出aaa不换行接着输出bbb console.write("bbb"); //输出为aaabbb console.readkey(); //等待输入 } } }
果然当程序输出 aaabbb 之后光标就停在后面。开始的时候说了console.readkey()能够读入用户所输入的第一个键,并且是否显示此键 (默认是显示按键的)console.readkey(true)不显示console.readkey()或console.readkey(false)显示,于是我又对上面的代码添加了一些要求不显示用户所按下的键,但之后输出此按键;
using system; using system.collections.generic; using system.linq; using system.text; namespace firstprogram { class program { static void main(string[] args) { string say = console.readline(); //因为它的返回值是string类型的所以定义的say也得是string类型 console.writeline(say); //输出say的类容并换行。。。。对比以下的输出 console.write("aaa"); //输出aaa不换行接着输出bbb console.write("bbb"); //输出为aaabbb console.writeline(); char a= console.readkey(true).keychar; //将按键以字符形式赋值给a console.writeline(a); console.readkey(); //等待用户输入 } } }
我重复上面的输入 hc666祝你国庆快乐!!!回车 然后按了“a”键不用回车程序就向下执行了,因为它只允许输入一个字符,结果为:
hc666祝你国庆快乐!!! hc666祝你国庆快乐!!! aaabbb a
我之前说console.readkey()大多数是用来暂停程序的,其实也不对,我查了一下它还有好多其他的功能比如 string ch = console.readkey().key.tostring; 将按键转化为string类型,想到string类型我就激动了,用它可以进行快速简洁的字符处理,这一点学过c++的同学很清楚,以后再仔细研究。如果用readkey()当作结尾的暂停语完全没有必要这么做,vs2010自己就可以做到,每次运行程序的时候不要单击 那个绿色的小三角 而是 调试——〉开始执行(不调试)单击就能搞定。
最后console.read()它与consle.readkey()想比前者能输出不止一个字符,但只取第一个字符,并返回它的ascii码值,这个我们可以查询一个字符的ascii码
using system; using system.collections.generic; using system.linq; using system.text; namespace firstprogram { class program { static void main(string[] args) { int a= console.read(); console.writeline(a); } } }
我在运行窗口中输入 1234 回车 结果为:
1234 49 经过查阅1的ascii 为49。
对01的深入探究:
上一篇中vs在为我们自动生成项目文件时自动编写了一系列的using system....我说了它其实是引用系统预定义的类型,本着学无止境的碳素精神我将他们全部删除了,这样的话程序还能运行吗?与c 对比,如果我们用c或c++编写程序时去掉头文件,程序回报错运行不了,c#是基于c/c++也高于它,因此它是能够运行的只需要……
namespace firstprogram { class program { static void main(string[] args) { int a= system.console.read(); system.console.writeline(a); } } }
因为console.是在system命名空间中定义的,在编码开头引用避免了后面的重复调用,所以可以删除它的引用但是就必须在每次调用方法时调用命名空间。
以上就是c#学习日记02--输入与输出的内容。
其它类似信息

推荐信息