Как преобразовать результат:
Random rnd = new Random();
var x = rnd.Next(1,4);
если x равно 1, мне просто нужно, чтобы это было «1», если это 2, мне просто нужно, чтобы это было «2», а если это 3, мне просто нужно, чтобы это было «3». В основном просто добавьте кавычки. Спасибо.
@PrashanthBenny, что (string)rnd.Next
не сработает
Возможный дубликат Преобразовать в строку?
@ Ханс Пассант Мне нужно «1», а не «1», сэр.
Вы можете преобразовать в строку:
var x = rnd.Next(1, 4).ToString()[0]
Почему ToCharArray()
, когда у string
есть индексатор?
Вы можете напрямую получить доступ к строковому символу: rnd.Next(1, 4).ToString()[0];
Есть несколько способов сделать это, вот парочка из них:
Добавьте нулевой символ (работает, только если это одна цифра):
var c = (char)('0' + rnd.Next(1,4));
Преобразовать в строку и получить первый символ:
var c = rnd.Next(1, 4).ToString().ToCharArray()[0];
Вы можете добавить это число к символу '0'
, чтобы получить значение символа.
Random rnd = new Random();
var x = rnd.Next(1,4);
char c = Convert.ToChar(x + '0');
Console.WriteLine("x : " + x + " - c : " + c); // Outputs : x : 1 - c : 1
это мой любимый
Если вы хотите создать строковый литерал, включающий одинарные кавычки, вместо создания фактического символа, как описано в других ответах, сделайте следующее:
Random rnd = new Random();
var x = rnd.Next(1,4).ToString(@"\'#\'");
Вы хотите конвертировать:
(int)1 to '1'
(int)2 to '2'
(int)3 to '3'
...
что в основном является функцией
char NumberToChar(int n) => (char)('0' + n);
Еще один вариант, потому что нам пока не хватает:
Random rnd = new Random();
var x = rnd.Next(1,4);
char c;
switch (x)
{
case 1:
c = '1';
break;
case 2:
c = '2';
break;
case 3:
c = '3';
break;
}
Спасибо. Теперь мой ответ идеален.
вы можете
type cast
поставить лайк(string)rnd.Next(1,4);
или сделатьrnd.Next(1,4).toString();