这有什么原因吗?我问这个问题是因为如果你需要使用大量的空字符,那么你就会陷入与你使用大量空字符串时相同的情况。
编辑:这种用法的原因是:
myString.Replace ('c', '')
所以从myString中移除所有的'c'实例。
这有什么原因吗?我问这个问题是因为如果你需要使用大量的空字符,那么你就会陷入与你使用大量空字符串时相同的情况。
编辑:这种用法的原因是:
myString.Replace ('c', '')
所以从myString中移除所有的'c'实例。
当前回答
使用Char。MinValue,它的工作原理与“\0”相同。但要注意它与String.Empty不同。
其他回答
如果要消除字符串中的空字符,下面的方法可以工作。只需转换为您想要的任何数据类型表示。
private void button1_Click(object sender, EventArgs e)
{
Int32 i;
String name;
Int32[] array_number = new int[100];
name = "1 3 5 17 8 9 6";
name = name.Replace(' ', 'x');
char[] chr = name.ToCharArray();
for (i = 0; i < name.Length; i++)
{
if ((chr[i] != 'x'))
{
array_number[i] = Convert.ToInt32(chr[i].ToString());
MessageBox.Show(array_number[i].ToString());
}
}
}
使用Char。MinValue,它的工作原理与“\0”相同。但要注意它与String.Empty不同。
那么BOM呢,微软添加到文件开头的神奇字符(至少是XML)?
还可以逐字符重新构建字符串,排除想要删除的字符。
下面是一个扩展方法:
static public string RemoveAny(this string s, string charsToRemove)
{
var result = "";
foreach (var c in s)
if (charsToRemove.Contains(c))
continue;
else
result += c;
return result;
}
它既不圆滑也不花哨,但效果很好。
像这样使用:
string newString = "My_String".RemoveAny("_"); //yields "MyString"
和这里没有int。empty的原因一样。容器可以为空,标量值不能为空。如果你的意思是0(它不是空的),那么使用'\0'。如果你的意思是null,那么使用null:)