我如何通过字符串生成器获取多个 int 输入

How i can take multiple int inputs through string builder

我如何通过字符串生成器获取多个(整数)输入

我的密码是

class Solution
{
    public static void Main(string[] args)
    {
        StringBuilder s = new StringBuilder(int.Parse(Console.ReadLine()));
        int a = s[0];
        int b = s[1];
        
        Console.WriteLine(a+b);
    }
}

您正在使用的 constructor method 有这样的描述:Initializes a new instance of the StringBuilder class using the specified capacity.

这仅表示 space 是 pre-allocated,但 space 未初始化为任何内容,并且字符串生成器中没有神奇的字符供您使用。这仍然是您尝试使用 s[0]s[1] 代码执行的操作。

StringBuilder 用于构建字符串。你想要的恰恰相反。你想分析一个字符串并得到它的部分。

让我们假设用户正在输入类似 12 7 的内容。然后你可以得到

的零件
string input = Console.ReadLine();
string[] parts = input.Split();

现在数组的长度应该为 2。它包含字符串。要进行数学运算,您必须将字符串转换为数字。

int a = Int32.Parse(parts[0]);
int b = Int32.Parse(parts[1]);

现在可以打印了

Console.WriteLine(a + b);

但您也可以期望用户一次输入一个号码并拨打 ReadLine() 两次。

Console.Write("Please enter first number: ");
string s = Console.ReadLine();
int a = Int32.Parse(s);

Console.Write("Please enter second number: ");
s = Console.ReadLine();
int b = Int32.Parse(s);

Console.WriteLine(a + b);

为了简单起见,我省略了验证。

在第一个示例中,您必须检查字符串数组的长度。在这两个示例中,您都必须使用 Int32.TryParse Method 来验证用户输入。如果输入与预期不符,您将不得不通知用户并要求他 re-enter 正确输入。

这增加了很多复杂性,但对于健壮的应用程序来说是必不可少的;但是,对于简单的测试代码或课程,可以省略。