在网上搜索时发现,如果字符串包含“空格”,则该字符串不是空字符串!
所以:
.txt
我的问题是:
1)我怎样才能使string a = "";
string b= " ";
if(a==b)
{
MessageBox.Show("I want them to be the same");
}
else
{
MessageBox.Show("They are not the same thing!");
}
和a=""
成为同一个人?
2)为什么当我从数据库中填充字符串b=" "
时,为什么我在数据库中只是一个空单元格而添加了这个“空格”?
答案 0 :(得分:1)
不,
一个字符串,其中wich被声明为字符串。Empty或“”与带有“”的字符串不同。 空格是一个字符,并且在字符串中,不再为null或为空。
您可以检查它:
这个告诉它是Null还是Empty(“”)
string a;
string b = string.Empty;
string c = "";
string d = " ";
if(string.IsNullOrEmpty(HERE))
{
// a b and c will be true, d will be false
}
if(string.IsNullOrWhiteSpace(HERE))
{
// a b c and d will be true.
}
因此,请回答您的问题: 1)您永远不会,因为那是不一样的。 您可以临时修剪空白以使其为空。 喜欢:
var temp = StringWithWhiteSpace.Replace(" ", string.Empty);
,然后检查它是否为Null或Empty,并使用临时字符串。
if(string.IsNullOrEmpty(temp))
{
}
或直接检查字符串。IsNullOrWhiteSpace()
2)这意味着您的数据库中有空格,并且它不是一个空单元格。 如果您使用的话,可以删除数据库中的所有空白单元格
UPDATE tableName SET columnName='' WHERE columnName=' ';
如果每个“空”单元格具有相同数量的空格。 如果没有,你可以看这里: SQL query - filter out field containing only spaces