如何在 c# 中读取两个数字
本文关键字:两个 数字 读取 | 更新日期: 2023-09-27 18:34:54
>INPUT
67 89 (单行(
我必须从控制台输入两个数字,并存储在两个不同的整数变量中。哎呀呀呀�
这将从控制台读取一行,拆分字符串,解析整数并输出列表。然后,您可以根据需要从列表中获取每个数字。
Console.ReadLine().Split().Select(s => int.Parse(s)).ToList()
如果总是有两个数字,您可以按如下方式操作:
var integers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray();
int first = integers[0];
int second = integers[1];
需要改进的领域:
您可能希望使用 TryParse 而不是 Parse,如果输入未解析,则输出友好的错误消息
如果您需要正好 2 个数字(不多也不少(,您可能需要检查
integers
的长度,如果<> 2
TryParse()
请求的示例:
var numbers = new List<int>();
foreach (string s in Console.ReadLine().Split())
{
if (int.TryParse(s, out int number))
numbers.Add(number);
else
Console.WriteLine($"{s} is not an integer");
}
using System;
public class Program
{
static void Main(string[] args)
{
var numbers = Console.ReadLine();
var numberList = numbers.Split(' ');
var number1 = Convert.ToInt32(numberList[0]);
var number2 = Convert.ToInt32(numberList[1]);
Console.WriteLine(number1 + number2);
Console.ReadKey();
}
}
如果您从其他程序执行,则需要从参数中读取
var result = Console.ReadLine().Split(new [] { ' '});
类似的东西,在我的头顶。
请参阅 Console.ReadLine(( 和 String.Split(( 的文档
使用 Linq,您可以投影到 int 数组中:
var result = Console.ReadLine()
.Split(new[] { ' ' }) //Explicit separator char(s)
.Select(i => int.Parse(i))
.ToArray();
甚至有点更简短:
var result = Console.ReadLine()
.Split() //Assuming whitespace as separator
.Select(i => int.Parse(i))
.ToArray();
结果现在是一个整数数组。