这有什么原因吗?我问这个问题是因为如果你需要使用大量的空字符,那么你就会陷入与你使用大量空字符串时相同的情况。
编辑:这种用法的原因是:
myString.Replace ('c', '')
所以从myString中移除所有的'c'实例。
这有什么原因吗?我问这个问题是因为如果你需要使用大量的空字符,那么你就会陷入与你使用大量空字符串时相同的情况。
编辑:这种用法的原因是:
myString.Replace ('c', '')
所以从myString中移除所有的'c'实例。
当前回答
如果你查看文档替换(字符串,字符串)重载字符串。替换您可以在备注部分中看到,如果第二个参数为空,则它将删除您指定的所有实例。因此,如果你使用myString = myString。替换(“c”,零);它会删除字符串中的每一个c。
其他回答
使用
myString.Replace ("c", "")
如果你不需要整个字符串,你可以利用延迟执行:
public static class StringExtensions
{
public static IEnumerable<char> RemoveChar(this IEnumerable<char> originalString, char removingChar)
{
return originalString.Where(@char => @char != removingChar);
}
}
你甚至可以组合多个字符……
string veryLongText = "abcdefghijk...";
IEnumerable<char> firstFiveCharsWithoutCsAndDs = veryLongText
.RemoveChar('c')
.RemoveChar('d')
.Take(5);
... 并且只计算前7个字符:)
编辑:或者更好:
public static class StringExtensions
{
public static IEnumerable<char> RemoveChars(this IEnumerable<char> originalString,
params char[] removingChars)
{
return originalString.Except(removingChars);
}
}
及其用法:
var veryLongText = "abcdefghijk...";
IEnumerable<char> firstFiveCharsWithoutCsAndDs = veryLongText
.RemoveChars('c', 'd')
.Take(5)
.ToArray(); //to prevent multiple execution of "RemoveChars"
如果你查看文档替换(字符串,字符串)重载字符串。替换您可以在备注部分中看到,如果第二个参数为空,则它将删除您指定的所有实例。因此,如果你使用myString = myString。替换(“c”,零);它会删除字符串中的每一个c。
不是回答你的问题,但表示一个默认字符,你可以使用just
default(char)
这和char是一样的。MinValue,与\0相同。但是不应该将它用于空字符串之类的东西。
没有空char这样的东西。你能得到的最接近的是“\0”,Unicode“null”字符。既然你可以将它嵌入到字符串字面量中,或者很容易地表达它,为什么要为它设置一个单独的字段呢?同样,“很容易混淆”和“”参数不适用于“\0”。
如果你能给出一个例子,说明你想在哪里使用它,以及为什么你认为它会更好,这可能会有帮助……