Добавить / согласовать несколько значений ushort

Я работаю над приложением C# (.Net 4.0). В некоторых ситуациях я хочу добавить несколько значений ushort, как указано ниже

Ushort a = 123;
Ushort b = 045;
Ushort c = 607;
Ushort d = 008;

И я хочу результат как 12304560700.

В настоящее время с подходом ниже

var temp = Convert.ToString(a) + Convert.ToString(b) + Convert.ToString(c) + Convert.ToString(d);

Я получаю временное значение как 123456078.

Я понимаю, что из-за типа данных ushort он исключает все ведущие нули. Но я ожидаю результат как 12304560700.

Возможно, я использовал метод padleft, но длина и начальные нулевые значения не являются фиксированными, поэтому этот вариант также не соответствует моим требованиям.

Я хотел бы знать, как я могу достичь того же, любые небольшие входы на то же самое также высоко ценится.

Заранее спасибо.

4 ответа

ushorts не способны хранить числа с ведущими нулями. В его глазах 45 а также 045 такое же точное число.

Я рекомендую вам просто хранить числа в виде строк, например так:

var a = "123";
var b = "045";
var c = "607";
var d = "008";

Это особенно легко сделать, если вы получаете эти вещи из консоли.

Вы хотите, чтобы все ваши числа были отформатированы с использованием 3 цифр, с начальными нулями, если это необходимо. Глядя на строки стандартного числового формата, вы получите это:

var temp = a.ToString("D3") + b.ToString("D3") + ...

Вместо присвоения значений ushort присвойте ему строку или переменную.

например: строка a="123"; строка b="011" и т. д. или var a="123" и т. д.

тогда var temp = a+b+... это будет работать. Нет данных хранения значений Ushort, ведущих с нуля. Спасибо

int a = 123;
int b = 045;
int c = 607;
int d = 008;

почему ты не можешь сделать это таким образом? не будет ли результат тем, что ты хочешь?

int temp = a.ToString() + b.ToString() + c.ToString() + d.Substring(d.Length - 2);

результат как 12304560700.

Другие вопросы по тегам