如何转换以下结果:
Random rnd = new Random();
var x = rnd.Next(1,4);
如果x是1,我只需要将其设为“ 1”,如果它是2,我只需要将其设为“ 2”即可;如果它是3,我只需要将其设为“ 3”即可。基本上只添加引号。谢谢。
答案 0 :(得分:2)
有几种方法可以完成,其中有几种:
添加字符零(仅适用于一位数字):
var c = (char)('0' + rnd.Next(1,4));
转换为字符串并获取第一个字符:
var c = rnd.Next(1, 4).ToString().ToCharArray()[0];
答案 1 :(得分:1)
您可以转换为字符串:
var x = rnd.Next(1, 4).ToString()[0]
答案 2 :(得分:0)
string strX = x.ToString(); //makes it "1", "2", "3"
或者如果您想返回单引号
string strX = string.Format("'{0}'", x);
如果您要使用相同的方法在计算过程中使用原始数字X,则最好使用IMO单独的字符串strX。
答案 3 :(得分:0)
您可以将此数字添加到char '0'
中以获取char值。
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
答案 4 :(得分:0)
如果您要创建一个包含单引号的字符串文字,而不是按照其他答案所述创建实际的char,请执行以下操作:
Random rnd = new Random();
var x = rnd.Next(1,4).ToString(@"\'#\'");
答案 5 :(得分:0)
您要转换:
(int)1 to '1'
(int)2 to '2'
(int)3 to '3'
...
基本上是一个功能
char NumberToChar(int n) => (char)('0' + n);
答案 6 :(得分:0)
还有一个选择,因为我们还没有足够的机会:
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;
}