我有:
int a = 9;
int b = 7;
int c = 3;
如何合并它们使它成为int d = 973; ? 我唯一想到的就是:
string merge = $"{a}{b}{c}";
int d = Int32.Parse(merge);
有更有效的方法吗?
答案 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);
请注意,这两种方法都容易出现整数溢出。