2011-12-23 118 views
0

我有一个名为ds的字符串,需要测试它是否为为空或不是。我可以只做以下吗?在C中测试空值的最简单方法是什么?

if (ds) { } 

它通过语法检查,所以我想知道什么样的条件,这将测试为真。

上面的代码是做什么的?

+2

不,这不会编译在所有。 – Guffa 2011-12-23 03:33:58

+0

你说“通过语法检查”是什么意思? – phoog 2011-12-23 04:13:37

+0

我认为你应该在问题中指定你正在试图找到如果字符串为空**或空**的问题,因为如果你只需要** null **然后* if(ds == null)*是做到这一点的唯一方法。 – 2011-12-23 15:53:14

回答

5

String.IsNullOrEmpty将检查字符串是否为空或空。

if(!string.IsNullOrEmpty(ds)) { 
    // String is valid 
} 
2

没有以不同的方式:

if (ds == null) 

但是也有用于分配的操作有用的方法:

MyClass a; 
MyClass b = null; 
a = b ?? new MyClass(); 

如果b不为null这将分配B到A,否则将分配新MyClass()到

所以要检查一个字符串是否为空(且仅为空)

if (ds == null) 

否则,你可以使用

if (string.IsNullOrEmpty(ds)) 

if (string.IsNullOrWhiteSpace(ds)) 
+0

那么如果(ds)会检查? – 2011-12-23 03:32:45

+0

@SamanthaJ:它不会编译。 – Guffa 2011-12-23 03:33:15

+0

@SamanthaJ:对不起,我没有在问题中读到“字符串” – 2011-12-23 03:33:41

相关问题