将整数转换为字符

时间:2019-05-22 11:49:22

标签: c#

如何转换以下结果:

Random rnd = new Random();
var x = rnd.Next(1,4);

如果x是1,我只需要将其设为“ 1”,如果它是2,我只需要将其设为“ 2”即可;如果它是3,我只需要将其设为“ 3”即可。基本上只添加引号。谢谢。

7 个答案:

答案 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;
}