c# 中string.Equals用法

c# 中string.Equals用法
字符串是引用数据类型,是String对象
我们在C# 中定义两个string 类型的变量stringA 和 stringB
当需要对字符串进行比较的时候,可以直接使用:

if( stringA == stringB) ;
当然也可以使用:
if( stringA.Equals(stringB) );

但是在LINQ语句中,找出与软件版本号(softwareVersion)相同的设备,LINQ写法如下:

 var equipments = equipments.**where**(item => item.softwareVersion.Equals(softwareVersion)).ToList();

因为设备的softwareVersion字段是可空的,当数据库中字段为空的时候,LINQ中的这种写法就会出现空引用的错误

此时有人会想到,我们可以把LINQ拆开,直接使用foreach,
然后对list中的每个变量进行判空的操作,对string进行判空,string.IsnullOrWhiteSpace进行判空,这样写概固然没错,但是代码不够简洁,不够美观。

若直接在LINQ中使用string.Equals进行两个string变量的判断,就可以避免空引用的问题,我们可以直接这样写:

var equipments = equipments.**where**(item => string.Equals(item.softwareVersion, softwareVersion).ToList();

你可能感兴趣的:(C#,c#,字符串)