我想测试 StringBuilder
是否为空,但是没有 IsEmpty
方法或属性。
如何确定它是否为空?
我想测试 StringBuilder
是否为空,但是没有 IsEmpty
方法或属性。
如何确定它是否为空?
如果您查看StringBuilder的文档,它只有4个属性之一是Length
。
StringBuilder对象的长度由其Char对象的数量定义。
您可以使用Length属性:
获取或设置当前StringBuilder对象的长度。
StringBuilder sb = new StringBuilder();
if (sb.Length != 0)
{
// you have found some difference
}
另一种可能性是使用String.IsNullOrEmpty方法将其视为字符串,并使用ToString
方法将构建器压缩为字符串。您甚至可以获取结果字符串并将其分配给一个变量,如果发现了一些差异,您就可以使用该变量:
string difference = "";
if (!String.IsNullOrEmpty(difference = sb.ToString()))
{
Console.WriteLine(difference);
}
public bool Empty { get; } = this.Length == 0;
加进去很容易。奇怪他们没有想到这个。 - BoiethiosLength
属性,那么 StringBuilder
将使用 0x00
字符填充它,直到该点。如果您随后添加字符串,则它们将附加到零十六进制字符串中。如果设置了 Length
属性,则不幸的是 string.IsNullOrWhiteSpace(sb.ToString())
或 string.IsNullOrEmpty(sb.ToString())
方法也停止工作。 - Mong Zhu使用 StringBuilder.Length
属性,这里是文档
if (mySB.Length > 0)
{
Console.WriteLine("Bang! is not empty!");
}
只需使用Length。以下是如何使用它:
// create a StringBuilder object
// with a String pass as parameter
StringBuilder
str
= new StringBuilder("Hello World");
// print string
System.out.println("String = "
+ str.toString());
// get length of StringBuilder object and initialize if you use it more than ones
int length = str.length();
// you can check like
if(len != 0)
// print length
System.out.println("length of String = "
+ length);
使用这个,它会起作用:
StringBuilder stringbuilder = new StringBuilder();
if(string.isnullorempty(Convert.toString(stringbuilder)))