黑马程序员技术交流社区

标题: Console.Read()和 Console.Readline()方法的区别 [打印本页]

作者: 李延辉    时间: 2012-8-1 09:47
标题: Console.Read()和 Console.Readline()方法的区别
Console.readkey()程序执行到这里时,等待用户从键盘输入,输入任意键,程序运行结束。 Console.Read()和 Console.readline()只有输入回车键,程序才能结束运行,两者之间的区别是什么呢?
作者: 韩迎龙    时间: 2012-8-1 09:58
Console.Read 表示从控制台读取字符串,不换行。
Console.ReadLine 表示从控制台读取字符串后进行换行。
Console.Read() 和Console.ReadLine()方法都是从键盘读入信息,唯一不同的就是Console.Read() 方法用于获得用户输入的任何值(可以是任何的字母数字值)的ASCII值.
Console.ReadLine()用于将获得的数据保存在字符串变量之中.
作者: ARMdong    时间: 2012-8-1 10:10
Console.Read():从标准输入流读取下一个字符
Console.ReadLine():从标准输入流读取下一行字符

它们的区别就是前者读取一个字符,而后者读取的是一行字符。

另外它们的返回值也有所不同:
Console.Read()是读取输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。
Console.ReadLine()是读取输入流中的下一行字符;如果没有更多的可用行,则为 null
作者: 蔡尚猛    时间: 2012-8-1 10:20
Console.Read :读取第一个字符并且返回该字符的ASCII码;
Console.ReadLine :读取一串字符,string类型的
作者: 刘秋菊    时间: 2012-8-1 10:27
Console.Read() 读一个char 然后 返回 相应的 Ascii码,
Console.readline()读取一行字符,返回一个字符串
作者: 王峰    时间: 2012-8-1 11:41
1’Console.Read() Console.ReadLine()方法都是从键盘读入信息,唯一不同的就是Console.Read() 方法用于获得用户输入的任何值(可以是任何的字母数字值)的ASCII值.Console.ReadLine()呢?用于将获得的数据保存在字符串变量之中.

2’ Console.Read 表示从键盘读取字符串,不换行。 Console.ReadLine 表示从键盘读取字符串后进行换行。读取多个数据?如何读取?例1:创建一个一维整型数组,通过接收用户输入的10个数进行初始化,并倒序打印。用Console.ReadLine()和字符串分隔符实现static void Main(string[] args)

{

    Console.WriteLine("请输入十个数,并以空格隔开:");

    string string1 = Console.ReadLine();

string[] string2 =System.Text.RegularExpressions.Regex.Split(string1, @"[ ]+");

    string[] result =new string[10];

    for (int i = 0; i < 10; i++)

      {

          result[i]= (string2[10 - i - 1]);

          Console.Write(result[i]+" ");

      }   

}

例2:用户自由输入一组整数(用数组存储),然后进行排序(冒泡排序法)

用Console.ReadLine()和for循环实现

/// <summary>

/// 冒泡排序

/// </summary>

/// <param name="ptr"></param>

/// <param name="size"></param>

static int[] bubble(int[] array)

{

int i, j, temp;

for (i = 0; i < 10; i++)

{

for (j = 10 - 1; j > i; j--)

{

if (array[j] < array[j - 1])

{

temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp;

}

}

}

return array;

}



/// <summary>

/// 用户自由输入一组整数(用数组存储),然后进行排序(自由选择排序算法)

/// </summary>

/// <param name="args"></param>

static void Main(string[] args)

{

int [] array1=new int [10];

Console.WriteLine("请输入十个整数:");

for (int i = 0; i < 10; i++)

{

array1[i] = int.Parse(Console.ReadLine());

}

int[] array2 = new int[10];

array2 = bubble(array1);

Console.WriteLine("排序结果为:");(数组不能直接输出,必须挨个元素的输出!!)

for (int j = 0; j < 10; j++)

{

Console.Write("{0}  ", array2[j]);

}

}


作者: 郭正续    时间: 2012-8-1 11:48
这两个都是在学控制台程序时候常用的语句,Console.Read() 表示从控制台读取字符串,不能换行。
而Console.ReadLine 表示从控制台读取字符串后进行换行。

作者: 肖攀    时间: 2012-8-1 12:44
当想让程序停下来时console。readkey还是比较好的

未命名.jpg (38.22 KB, 下载次数: 34)

未命名.jpg

作者: 张寅平    时间: 2012-8-1 16:44
Console.Read():输入流中的下一个字符;如果当前没有更多的字符可供读取,则为-1。返回值为 Int32 类型。
Console.ReadLine():输入流中的下一行字符;如果没有更多的可用行,则为 null 。返回值为 String 类型。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2