經過上篇的學習,已經對C#有了一個初步的認識,能夠在vs2010中創建控制台應用程序,記得我剛開始學習C的時候老師也是這樣教我們的,接下來就學習C#的輸入與輸出。
C#的輸入與輸出其實是引用System定義的Console.類型,
Console.Read() (接受從鍵盤輸入的第一個字符,並返回它的ASCII碼值),
輸出:Console.WriteLine () (輸出的內容顯示在同一行,並且遊標移到下一行),
個程序,讓我們輸入"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在為我們自動生成項目文件時自動編寫了一系列的文件文件.. ..我說了它其實是引用系統預定義的類型,本著學無止境的碳素精神我將他們全部刪除了,這樣的話程序還能運行嗎?與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--輸入與輸出的內容,更多相關內容請關注PHP中文網(www.php.cn)!