C# 如何分离未分离的输入C
程序必须将偶数和奇数相加,然后相乘 当我输入像12345这样的数字时,问题就出现了。 数组采用类似于1的数字元素,但为了使代码正常工作,当我这样放置它时,它必须将输入分开12345 如果要在“”空间上拆分,则输入应使用分隔符:1 2 3 4 5 如果要枚举单个数字内的数字,例如12345内的数字C# 如何分离未分离的输入C,c#,input,split,C#,Input,Split,程序必须将偶数和奇数相加,然后相乘 当我输入像12345这样的数字时,问题就出现了。 数组采用类似于1的数字元素,但为了使代码正常工作,当我这样放置它时,它必须将输入分开12345 如果要在“”空间上拆分,则输入应使用分隔符:1 2 3 4 5 如果要枚举单个数字内的数字,例如12345内的数字 这样,您就可以输入从0到9的数字,而不必关心它们的书写方式: class Program { static void Main(string[] args) { int[
这样,您就可以输入从0到9的数字,而不必关心它们的书写方式:
class Program
{
static void Main(string[] args)
{
int[] numbers = Console.ReadLine().Select(x => {
if(int.TryParse(x.ToString(), out int result))
{
return result;
}
else
{
return -1;
}
}).Where(x => x != -1).ToArray();
int even = 0;
int odd = 0;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] % 2 == 0)
{
even = even + numbers[i];
}
else
{
odd = odd + numbers[i];
}
}
Console.WriteLine(even * odd);
}
}
输出:
54
输入:
12345
1 2 3 4 5
1,2,3,4,5
,1.2 34|5
输出:
54
输入:
12345
1 2 3 4 5
1,2,3,4,5
,1.2 34|5
输出:
54
输入:
12345
1 2 3 4 5
1,2,3,4,5
,1.2 34|5
输出:
54
您需要迭代字符串的字符,而不是在空间上拆分。也许对字符串使用ToCharArray,然后将每个字符转换为整数。@Darkonekt为什么要使用ToCharArray?字符串已经是IEnumerable。如果要创建原始字符串的副本并对其进行修改,则只需执行ToCharray。在c中,转换为int也是隐式的,所以不需要这样做either@TimRutter同意。但由于这是一个初学者的问题,我想给他展示一个更明确的路线。此外,所有字符都可以转换为int,这在本例中可能不太理想,因为根据他试图完成的任务,只允许使用数字字符。。。。