学习C#和学习其他计算机语言一样,第一次编程的目标就是在控制台窗口中输出“Hello World”。我在之前已经接触过C#,也尝试过用C#编写网页,但是并没有尝试过用C#编写控制台程序。
新建一个控制台程序后,出现的是一个只有一个cs文件的非常简单的工程。按照章老师课上讲的内容,我在主函数中敲入“ System.Console.WriteLine(“Hello World”); ”,然后按下Ctrl + F5,代表跨入编程大门的Hello World界面便出现了。
我接下来的目标是熟悉System命名空间中的Console类中的方法和属性。
首先尝试的是章老师在课上示范过的用于改变字体颜色和背景颜色的System.Console.ForegroundColor和System.Console.BackgroundColor属性。
经试验,这两个属性的值能够影响接下来输出在控制台的字符的字体颜色和背景颜色。
接下来,我一个个试验Console类中的其它属性与函数的作用。
Beep() 计算机执行这一语句后发出了一声声响。对于我的笔记本电脑,这声声响由音响发出(带上耳机后,声响在耳机中发出)。我猜测,对于台式电脑,蜂鸣声应在主机中发出。
BufferHeight
BufferWidth 这两个属性是关于控制台缓冲区的。我试了试并没又发现什么作用。在网上查资料后,缓冲区我理解为一个还未输入进控制台的存储区。暂且不做深入的试验。
CancelKeyPress 既不是函数也不是属性,试了试不会用。
CapsLock 这个属性存储的值是一个布尔值,记录了键盘大写锁定是否打开。
Clear() 执行后清楚之前显示在控制台的所有内容。
CursorLeft
CursorSize
CursorTop
CursorVisible 这几个属性涉及缓冲区的光标。试验CursorLeft时,不管我在控制台输出了什么,这个属性的值一直是0,我推测这是因为缓冲区一直是空的。
Equals() 应该是继承自基类的比较函数。
Error
In
Out
InputEncoding
OutputEncoding 第一个属性试验后得到以下内容
不太明白这是什么。下面俩没试,应该是差不多的东西。
IsErrorRedirected
IsInputRedirected
IsOutputRedirected 属性,存储一个布尔值,表示错误输出流、标准输入流、标准输出流是否已经改变
KeyAvailable 属性,输入是否可用。试验时值一直为false。
LargestWindowHeight
LargestWindowWidth 计算控制台能有的最大行数、列数,试验行数时值为46。
MoveBufferArea() 看不懂它的解释,但涉及缓冲区,不知道该怎么试验。
暂时就试这些,剩下的有时间再折腾。