C# 字符串a="&引用;和字符串b="&引用;不是一回事吗?
在网上搜索时,我发现如果一个字符串包含“空格”,那么这个字符串就不是空字符串 因此: 我现在的问题是: 1) 我怎么知道我想让C# 字符串a="&引用;和字符串b="&引用;不是一回事吗?,c#,string,winforms,C#,String,Winforms,在网上搜索时,我发现如果一个字符串包含“空格”,那么这个字符串就不是空字符串 因此: 我现在的问题是: 1) 我怎么知道我想让a=“”和b=“”是一回事 2) 为什么当我从数据库中填充字符串b时,它会给我添加这个“空格”,而数据库中的空格只是一个空单元格?否 声明为字符串的字符串。空或“”与带“”的字符串不同。 空白是一个字符,当它位于字符串中时,它就不再是null或空的 您可以查看: 这一个告诉你它是空的还是空的(“”) 因此,要回答您的问题: 1) 你永远也做不到,因为这不是一回事。 您可以
a=“”
和b=“”
是一回事
2) 为什么当我从数据库中填充字符串b
时,它会给我添加这个“空格”,而数据库中的空格只是一个空单元格?否
声明为字符串的字符串。空或“”与带“”的字符串不同。
空白是一个字符,当它位于字符串中时,它就不再是null或空的
您可以查看:
这一个告诉你它是空的还是空的(“”)
因此,要回答您的问题:
1) 你永远也做不到,因为这不是一回事。
您可以临时修剪空白,使其为空。
比如:
然后检查它是否为Null或空,并使用临时字符串
if(string.IsNullOrEmpty(temp))
{
}
或者直接检查string.IsNullOrWhiteSpace()
2) 这意味着数据库中有空格,而不是空单元格。
如果使用,则可以删除数据库中的所有空白单元格
UPDATE tableName SET columnName='' WHERE columnName=' ';
如果每个“空”单元格的空格数相同。
如果没有,您可以查看这里:
1)
string.Trim
是你的朋友。2) 取决于您的数据库以及如何从中获取值。你怎么看“它添加了空格”?你能发布文档吗?@HimBromBeere我更倾向于使用string.IsNullOrWhiteSpace
,而不是创建新字符串。@OliveroSRL你的数据库可能添加了尾随空格,因为你的列是char(50)
,而不是varchar(50)
。Olivero,你似乎忽略了一个关键点:它们是不平等的。他们永远不会。因此,您需要操纵字符串,使其相等,或者执行自定义逻辑测试,以定义相等的版本。
var temp = StringWithWhiteSpace.Replace(" ", string.Empty);
if(string.IsNullOrEmpty(temp))
{
}
UPDATE tableName SET columnName='' WHERE columnName=' ';