У меня есть два целых числа, например. 15 и 6 и я хочу получить 156. Чем я занимаюсь:
int i = 15;
int j = 6;
Convert.ToInt32(i.ToString() + j.ToString());
Есть ли лучший способ сделать это?
ОБНОВЛЕНИЕ: Спасибо за все ваши хорошие ответы. Я запускаю быстрый тест секундомера, чтобы посмотреть, как это повлияет на производительность :Это код, проверенный на моей машине:
static void Main()
{
const int LOOP = 10000000;
int a = 16;
int b = 5;
int result = 0;
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < LOOP; i++)
{
result = AppendIntegers3(a, b);
}
sw.Stop();
Console.WriteLine("{0}ms, LastResult({1})", sw.ElapsedMilliseconds,result);
}
А вот и время:
My original attempt: ~3700ms
Guffa 1st answer: ~105ms
Guffa 2nd answer: ~110ms
Pent Ploompuu answer: ~990ms
shenhengbin answer: ~3830ms
dasblinkenlight answer: ~3800ms
Chris Gessler answer: ~105ms
Guffa предоставил очень хорошее и умное решение, а Chris Gessler предоставил очень хороший метод расширения для этого решения.