1

LINQPad私はlinqクエリを評価するために使用しています。私のクエリは次のようになります。

from o in MyTableFirst
join p in MyTableSecond on o.TheName equals p.TheName
where p.TheName == "CBA-123" && !p.Removed && 
   (o.ReturnPeriod ==100 || o.ReturnPeriod ==10)
select new {
   HMax1 = o.MaxValue1,
   HMax2 = o.MaxValue2,
   HMax3 = o.MaxValue3
}


このクエリは、0 またはいくつかの行を返すことができます。

LINQPad では、次のような結果が返されます。

HMax1    HMax2    HMax3
21.1         null          22.5
null          24.6 11.5

では、これらの戻り値の行と列の最大値を取得するにはどうすればよいでしょうか。24.6
のリターンを期待しています。ありがとうございました

4

2 に答える 2

1

これを試して:

(
 from o in MyTableFirst
 join p in MyTableSecond on o.TheName equals p.TheName
 where p.TheName == "CBA-123" && !p.Removed && 
 (o.Level ==100 || o.Level ==10)

 //combine all of the numbers into one list
 let listOfNumbers = new List<double?>{o.MaxValue1,o.MaxValue2,o.MaxValue3}

 //select the list
 select listOfNumbers
)
.SelectMany(c => c) //combine all the lists into one big list
.Max(c => c) //take the highst number
于 2013-04-12T06:44:40.117 に答える