3

1-我使用 linq to sql 来查询数据库表。
2- 在我的实际表格中,我将电话国家代码、电话号码和电话分机存储在不同的列中。
3-当我获得数据时,我需要电话等于电话国家代码、电话号码和电话分机的串联。
4- 对于某些记录,这 3 列中的任何一个都可能具有空值。
5- 如果一列为空,则整个串联产生空值。

from s in test
select new{
          Phone = s.PhoneCountryCode + s.PhoneNumber + s.PhoneExtension
}

6-我尝试了以下方法,但没有奏效。仍然产生空值。

from s in test
select new{
          Phone = s.PhoneCountryCode == null ? "" : s.PhoneCountryCode + s.PhoneNumber       == null ? "" : s.PhoneNumber + s.PhoneExtension == null ? "" : s.PhoneExtension
} 
4

1 回答 1

5

您可以??按如下方式使用运算符:

from s in test
select new
{
    Phone = (s.PhoneCountryCode ?? "") + (s.PhoneNumber ?? "") + (s.PhoneExtension ?? "")
}
于 2013-03-28T13:47:28.417 回答