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()}");