C# 合并int';将s转换为C中的单个int#

C# 合并int';将s转换为C中的单个int#,c#,merge,C#,Merge,我有: 如何合并它们,使其成为int d=973? 我唯一能想到的是: int a = 9; int b = 7; int c = 3; 有更有效的方法吗?您可以使用以下方法: 这将总数乘以10,并为输入序列中的每个数字添加当前数字 您可以这样反复编写: var input = new[] { a, b, c }; var number = input.Aggregate((t, c) => t * 10 + c); 请注意,这两种方法都容易出现整数溢出。d=(a*100)+(b*1

我有:

如何合并它们,使其成为int d=973? 我唯一能想到的是:

int a = 9;
int b = 7;
int c = 3;
有更有效的方法吗?

您可以使用以下方法:

这将总数乘以10,并为输入序列中的每个数字添加当前数字

您可以这样反复编写:

var input = new[] { a, b, c };

var number = input.Aggregate((t, c) => t * 10 + c);

请注意,这两种方法都容易出现整数溢出。

d=(a*100)+(b*10)+c;但也许你应该解释一下你真正想解决的问题,而不是固定在一个想法上。你可以尝试这样合并:
string merge=a+“”+b+c在我看来,您的方式已经足够好了。@zzT OP已经进行了字符串合并。他要求的是更有效的东西。但我同意史蒂夫的观点。这看起来确实像一个XY问题,他们给了我3个独立的整数a,b,c,我需要对从abc到111的每一个组合做一些检查。根据检查的结果,我需要把一个特定的值加/减/乘到一个给定的“特殊”整数上。当那个“特殊”整数等于或大于另一个“控制”整数时,我需要停止。
var input = new[] { a, b, c };

var number = input.Aggregate((t, c) => t * 10 + c);
var number = 0;
foreach (var i in input)
{
    number = number * 10 + i;
}
Console.WriteLine(number);