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

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

myString.Replace ('c', '')

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


当前回答

char是一种值类型,因此它的值不能为空。(除非它被包装在Nullable容器中)。

由于它不能为空,in包含一些数字代码,每个代码都映射到某个字符。

其他回答

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

myString.Replace("c", "")

你为什么不想这么做?

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

public static string QuitEscChars(this string s) 
{
    return s.Replace(((char)27).ToString(), "");
}

使用

myString.Replace ("c", "")

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

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

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