用单个制表符字符创建一个字符串

use*_*215 0 c# string

我想创建一个由单个字符组成的字符串,例如'\ t',就是它,但是String类构造函数不会接受它.

String myTab = new String( '\t' ); 
Run Code Online (Sandbox Code Playgroud)

这给了我:

错误2参数1:无法从'char'转换为'char*'

好吧,我认为从C++切换后我不需要指针,但我会给你一个:

char oneChar = '\t';     
String myTab = new String( &oneChar ); 
Run Code Online (Sandbox Code Playgroud)

得到:

错误1指针和固定大小的缓冲区只能在不安全的上下文中使用

所以我尝试了这种笨拙的转换而没有成功:

String myTab = new String( ToString('\t') ); 
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

错误3参数1:无法从'string'转换为'char []'

这是有史以来最简单的问题,它让我很烦恼.任何人都可以告诉我如何解决它以及为什么字符串类不能接受单个字符?

spe*_*der 7

char并且string不同的数据类型.你不能使用char其中一个string预期(或者就此而言,在一个char*char[]预期).

采用的构造函数char*只能在unsafe上下文中使用(请参阅其他答案),但除非你有充分的理由去做unsafe,否则不要这样做(不管你的C++背景是否很诱人).

'\t' 定义一个 char

"\t" 定义一个字符 string

因此不会

string myString = "\t";
Run Code Online (Sandbox Code Playgroud)

没事的?

如果你想将a转换char成astring

string myString = myChar.ToString();
Run Code Online (Sandbox Code Playgroud)