这有什么原因吗?我问这个问题是因为如果你需要使用大量的空字符,那么你就会陷入与你使用大量空字符串时相同的情况。

编辑:这种用法的原因是:

myString.Replace ('c', '')

所以从myString中移除所有的'c'实例。


当前回答

没有空char这样的东西。你能得到的最接近的是“\0”,Unicode“null”字符。既然你可以将它嵌入到字符串字面量中,或者很容易地表达它,为什么要为它设置一个单独的字段呢?同样,“很容易混淆”和“”参数不适用于“\0”。

如果你能给出一个例子,说明你想在哪里使用它,以及为什么你认为它会更好,这可能会有帮助……

其他回答

使用Char。MinValue,它的工作原理与“\0”相同。但要注意它与String.Empty不同。

那么BOM呢,微软添加到文件开头的神奇字符(至少是XML)?

不能回答你的第一个问题-但对于你遇到的特定问题,你可以只使用字符串而不是字符,对吗?:

myString.Replace("c", "")

你为什么不想这么做?

与字符串不同,char是一个大小固定的离散的东西。字符串实际上是字符的容器。

所以,Char。在这种情况下,空是没有意义的。如果你有一个char,它就不是空的。

就c#语言而言,以下内容可能没有多大意义。这并不是对这个问题的直接回答。但下面是我在一个业务场景中所做的。

char? myCharFromUI = Convert.ToChar(" ");
string myStringForDatabaseInsert = myCharFromUI.ToString().Trim();
if (String.IsNullOrEmpty(myStringForDatabaseInsert.Trim()))
{
    Console.Write("Success");
}

在我的项目中,空白和空白具有不同的业务流。而插入到数据库,我需要插入空字符串到数据库,如果它是空白。