2017-07-16 45 views
-1

我:合併廉政局成單個int在C#

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

如何合併這些使它成爲INT d = 973; ? 我設法想出的唯一事情是:

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

有沒有更有效的方法?

+14

_d =(a * 100)+(b * 10)+ c; _但是也許您應該解釋一下您真正想要解決的問題,而不是固定主意。這似乎是[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – Steve

+0

您可以嘗試像這樣合併:'string merge = a +「 「+ b + c;' – zzT

+0

在我看來,你的方式已經足夠好了。 – GeralexGR

回答

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); 

注意,這兩種方法都容易產生整數溢出。