C# 我怎样才能插入一个“;数组";将字符串转换为值?
我只想输入以下数字C# 我怎样才能插入一个“;数组";将字符串转换为值?,c#,C#,我只想输入以下数字 100 8 15 245 1945 54 输入一个值,但由于某种原因,当我复制粘贴到我的ReadLine时,程序会将我踢出(没有错误或smth-所以我几乎无法理解刚才发生了什么…) 我已经有了一个代码,允许我在一行中插入一组数字(但不是描述中所示的表格…) 我希望在列表中有我的编号显然,当您粘贴回车时,ReadLine只占第一个回车的时间,您将需要一些描述的循环 int numberOfElements = Convert.ToInt32(Console.ReadLine(
100 8
15 245
1945 54
输入一个值,但由于某种原因,当我复制粘贴到我的ReadLine时,程序会将我踢出(没有错误或smth-所以我几乎无法理解刚才发生了什么…)
我已经有了一个代码,允许我在一行中插入一组数字(但不是描述中所示的表格…)
我希望在列表中有我的编号显然,当您粘贴回车时,
ReadLine
只占第一个回车的时间,您将需要一些描述的循环
int numberOfElements = Convert.ToInt32(Console.ReadLine());
var sb = new StringBuilder();
for (int i = 0; i < numberOfElements; i++)
{
Console.WriteLine($"Enter value {i+1}");
sb.AppendLine(Console.ReadLine());
}
var input = sb.ToString();
// do what ever you want here
Console.ReadKey();
int numberOfElements=Convert.ToInt32(Console.ReadLine());
var sb=新的StringBuilder();
for(int i=0;i
显然,当您粘贴回车时,ReadLine
只占用第一个回车符,您将需要一个具有某种描述的循环
int numberOfElements = Convert.ToInt32(Console.ReadLine());
var sb = new StringBuilder();
for (int i = 0; i < numberOfElements; i++)
{
Console.WriteLine($"Enter value {i+1}");
sb.AppendLine(Console.ReadLine());
}
var input = sb.ToString();
// do what ever you want here
Console.ReadKey();
int numberOfElements=Convert.ToInt32(Console.ReadLine());
var sb=新的StringBuilder();
for(int i=0;i
控制台。ReadLine()
只读取一行string input=Console.ReadLine()
进入新行时读取第一行。在您的情况下,只读取第一行,然后对于第二行,您的程序只获取第一个字符并退出
选中此项:
int numberOfElements = Convert.ToInt32(Console.ReadLine());
int sum= 0;
for (int i=0; i< numberOfElements; i++)
{
string input = Console.ReadLine();
sum += Array.ConvertAll(input.Split(' '), int.Parse).Sum();
}
Console.WriteLine(sum);
int numberOfElements=Convert.ToInt32(Console.ReadLine());
整数和=0;
for(int i=0;i
控制台。ReadLine()
只读取一行string input=Console.ReadLine()
进入新行时读取第一行。在您的情况下,只读取第一行,然后对于第二行,您的程序只获取第一个字符并退出
选中此项:
int numberOfElements = Convert.ToInt32(Console.ReadLine());
int sum= 0;
for (int i=0; i< numberOfElements; i++)
{
string input = Console.ReadLine();
sum += Array.ConvertAll(input.Split(' '), int.Parse).Sum();
}
Console.WriteLine(sum);
int numberOfElements=Convert.ToInt32(Console.ReadLine());
整数和=0;
for(int i=0;i
我假设您正在寻找一种方法,允许用户将其他来源的内容粘贴到您的控制台程序中,因此您正在寻找一个答案,您可以在其中处理来自用户的多行字符串输入(他们粘贴包含一个或多个换行符的字符串) 如果是这种情况,那么一种方法是在第一次调用
ReadLine
后检查Console.KeyAvailable
的值,查看缓冲区中是否还有更多输入,如果有,将其添加到已捕获的输入中
例如,这里有一个方法,它接收一个提示(向用户显示),然后返回一个列表
,其中包含用户粘贴(或键入)的每一行的条目:
输出
你下一步要做什么取决于你想完成什么。如果要获取所有行,在空格字符上拆分它们,并将所有结果作为单个整数列表返回,可以执行以下操作:
private static void Main()
{
int temp = 0;
List<int> numbers =
GetMultiLineStringFromUser("Paste a multi-line string and press enter: ")
.SelectMany(i => i.Split()) // Get all the individual entries
.Where(i => int.TryParse(i, out temp)) // Where the entry is an int
.Select(i => Convert.ToInt32(i)) // And convert the entry to an int
.ToList();
Console.WriteLine("\nYou entered: ");
foreach (var number in numbers)
{
Console.WriteLine(number);
}
GetKeyFromUser("\nDone!\nPress any key to exit...");
}
输出
我假设您正在寻找一种方法,允许用户将其他来源的内容粘贴到您的控制台程序中,因此您正在寻找一个答案,您可以在其中处理来自用户的多行字符串输入(他们粘贴包含一个或多个换行符的字符串) 如果是这种情况,那么一种方法是在第一次调用
ReadLine
后检查Console.KeyAvailable
的值,查看缓冲区中是否还有更多输入,如果有,将其添加到已捕获的输入中
例如,这里有一个方法,它接收一个提示(向用户显示),然后返回一个列表
,其中包含用户粘贴(或键入)的每一行的条目:
输出
你下一步要做什么取决于你想完成什么。如果要获取所有行,在空格字符上拆分它们,并将所有结果作为单个整数列表返回,可以执行以下操作:
private static void Main()
{
int temp = 0;
List<int> numbers =
GetMultiLineStringFromUser("Paste a multi-line string and press enter: ")
.SelectMany(i => i.Split()) // Get all the individual entries
.Where(i => int.TryParse(i, out temp)) // Where the entry is an int
.Select(i => Convert.ToInt32(i)) // And convert the entry to an int
.ToList();
Console.WriteLine("\nYou entered: ");
foreach (var number in numbers)
{
Console.WriteLine(number);
}
GetKeyFromUser("\nDone!\nPress any key to exit...");
}
输出
在哪个控制台上输入该值?啊,是的,对不起-输入第一个输入(字符串)
“100 8”
显然不是一个数字。(注意0和8之间的空格)因此,您的第一个代码行int numberOfElements=Convert.ToInt32(Console.ReadLine())
将已经失败。如果您没有看到异常,我猜您将使用带有空catch
块的try
-catch
子句。如果情况确实如此,那么就不要这样做。具有空catch块的try catch将等效于以下内容:。(也就是说,我只是在这里猜测你在代码中做了什么…)你在哪个控制台上输入那个值?啊,是的,对不起-输入第一个输入(字符串)“100 8”
显然不是一个数字。(注意0和8之间的空格)因此,您的第一个代码行int numberOfElements=Convert.ToInt32(Console.ReadLine())
将已经失败。如果您没有看到异常,我猜您将使用带有空catch
块的try
-catch
子句。如果情况确实如此,那么就不要这样做。具有空catch块的try catch将等效于以下内容:。(也就是说,我是朱
Console.WriteLine($"\n{string.Join(" + ", numbers)} = {numbers.Sum()}");