作为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;