将int合并到C#中的单个int中

时间:2017-07-16 07:46:02

标签: c# merge

我有:

int a = 9;
int b = 7;
int c = 3;

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

string merge = $"{a}{b}{c}";
int d = Int32.Parse(merge);

有更有效的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Linq's Aggregate执行此操作:

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

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

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

迭代地你这样写:

var number = 0;
foreach (var i in input)
{
    number = number * 10 + i;
}
Console.WriteLine(number);

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