创建包含单个空字符的String常量

时间:2015-11-19 10:24:41

标签: c# string null

我使用像这样声明的Char常量作为分隔符来分割和连接字符串:

public const Char DELIMITERCHAR = (char)0;

但是,我经常需要将char转换为字符串,例如在使用replace时:

someString.Replace(DELIMITERCHAR.ToString(), "someOtherDelimiter-String");

所以,为了避免使用ToString(),我想要一个 String 常量,它只包含一个空字符,但我无法找到如何创建它...

执行以下操作似乎不正确,因为我想要一个包含null的字符串,而不是 null的字符串:

public const String DELIMITERSTR = null;

这些方法也不起作用,因为它们不够“恒定”:

public const String DELIMITERSTR = DELIMITERCHAR.ToString();
public const String DELIMITERSTR = ((char)0).ToString(); 

显然,结果是编译器错误说:“分配给'DELIMITERSTR'的表达式必须是常量。'

似乎这应该很简单,但我无法弄明白该怎么做。

2 个答案:

答案 0 :(得分:4)

您可以简单地声明一个字符长度为\0的字符串作为唯一的字符:

public const String DELIMITERSTR = "\0";

然后,如果需要,您将始终能够从中提取此字符:

DELIMITEDSTR[0]

答案 1 :(得分:1)

严格地问你的问题Yeldar回答是对的。

但是,如果我们再考虑一点,我们可能会认为NULL字符可能会在很多情况下引起问题,因为在某些数据库或应用程序中可能会拒绝此字符 - 即使因为它被视为国际符号数据结束等等。

如果您接受建议,请尝试将另一个符号视为分隔符,例如" |"或ASCII-255,或一组符号(如" |:")。它可以更安全。