我使用像这样声明的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'的表达式必须是常量。'
似乎这应该很简单,但我无法弄明白该怎么做。
答案 0 :(得分:4)
您可以简单地声明一个字符长度为\0
的字符串作为唯一的字符:
public const String DELIMITERSTR = "\0";
然后,如果需要,您将始终能够从中提取此字符:
DELIMITEDSTR[0]
答案 1 :(得分:1)
严格地问你的问题Yeldar回答是对的。
但是,如果我们再考虑一点,我们可能会认为NULL字符可能会在很多情况下引起问题,因为在某些数据库或应用程序中可能会拒绝此字符 - 即使因为它被视为国际符号数据结束等等。
如果您接受建议,请尝试将另一个符号视为分隔符,例如" |"或ASCII-255,或一组符号(如" |:")。它可以更安全。