Rumah > pembangunan bahagian belakang > Tutorial C#.Net > C#学习日记02--输入与输出

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

黄舟
Lepaskan: 2017-01-20 13:17:35
asal
1783 orang telah melayarinya

 

     经过上篇的学习,已经对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  
              
        }  
    }  
}
Salin selepas log masuk

我键入 HC666祝你国庆快乐!!! 再输入回车后输出结果显示为:

 HC666祝你国庆快乐!!!
     HC666祝你国庆快乐!!!
     aaabbb
Salin selepas log masuk

也许当你按下回车的时候,你的运行窗口会一闪而过然后就退出了,这是应为当程序执行完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();      //等待输入  
              
        }  
    }  
}
Salin selepas log masuk

果然当程序输出 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();   //等待用户输入  
  
        }  
    }  
}
Salin selepas log masuk

我重复上面的输入 HC666祝你国庆快乐!!!回车 然后按了“A”键不用回车程序就向下执行了,因为它只允许输入一个字符,结果为:

HC666祝你国庆快乐!!!
     HC666祝你国庆快乐!!!
     aaabbb
     A
Salin selepas log masuk

我之前说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);  
        }  
    }  
}
Salin selepas log masuk

我在运行窗口中输入 1234 回车 结果为:

1234
49
经过查阅1的ASCII 为49。
Salin selepas log masuk

对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);  
        }  
    }  
}
Salin selepas log masuk

因为Console.是在System命名空间中定义的,在编码开头引用避免了后面的重复调用,所以可以删除它的引用但是就必须在每次调用方法时调用命名空间。

 

以上就是C#学习日记02--输入与输出的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan