首頁  >  文章  >  後端開發  >  C#學習日記02--輸入與輸出

C#學習日記02--輸入與輸出

黄舟
黄舟原創
2017-01-20 13:17:351693瀏覽

 

     經過上篇的學習,已經對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)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn