作为LINQ查询的一部分,我有一系列的列,其中只有一个包含一个值,如何将单个值分配给变量,而不必执行类似的操作

myVal = column1.hasValue ? column1.value : column2.hasValue ? column2.value : column3.hasValue ? column3.value : etc


this question相似,但使用LINQ代替SQL。

不幸的是,用SQL处理数据库方面的任何事情都不可行。

最佳答案

var values = new[]{ column1, column2, column3 };
var value = values.First(nullable => nullable.HasValue).Value;


甚至更简洁:

var value = (column1 ?? column2 ?? column3).Value;

10-02 01:40