如何在c#中将char转换为char*?

Uin*_*nce 5 c#

如何在c#中将char转换为char*?

我正在初始化一个像这样的String对象:

String test=new String('c');
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

Argument '1': cannot convert from 'char' to 'char*'

Ode*_*ded 16

如果您事先知道要存储在其中的内容,那么初始化字符串有点奇怪.

你可以简单地使用:

String test="c";
Run Code Online (Sandbox Code Playgroud)

如果您有特殊需要将char变量转换为字符串,则可以使用内置ToString()函数:

String test = myCharVariable.ToString();
Run Code Online (Sandbox Code Playgroud)


Chr*_*s S 12

unsafe
{
    char c = 'c';
    char *ch = &c;
}
Run Code Online (Sandbox Code Playgroud)

你的例子有一个String和一个编译错误使用其中一个String构造函数重载,所以我猜你真的只想要一个字符数组,也就是a String,也许不是一个char*.

在这种情况下:

char c = 'c';
string s = c.ToString(); // or...
string s1 = "" +c;
Run Code Online (Sandbox Code Playgroud)

也提供:

unsafe
{
    char c = 'c';
    char* ch = &c;
    string s1 = new string(ch);
    string s2 = new string(c, 0);
}
Run Code Online (Sandbox Code Playgroud)

  • 这是问题的真正答案,但我相信作者并不真的想将`char`转换成`char*`:) (3认同)
  • +1因为它回答问题而不要求OP首先证明他们需要这种方法. (2认同)

ser*_*hio 6

string myString1 = new string(new char[] {'a'});
string myString2 = 'a'.ToString();
string myString3 = "a";
string myString4 = new string('a', 1);
unsafe {
    char a = 'a';
    string myString5 = new string(&a);
}
Run Code Online (Sandbox Code Playgroud)