我有这个:
Tuple<double?, double?, double?, int, int, int> R1;
并且需要这个:
Tuple<double, double, double, int, int, int> R1a;
可为空的元素的值永远不会为空。该怎么办?
答案 0 :(得分:1)
您可以使用此:
var R1a = new Tuple<double, double, double, int, int, int>
(R1.Item1.Value, R1.Item2.Value, R1.Item3.Value, R1.Item4, R1.Item5, R1.Item6);
但是,只有在您可以确定 3个双打都具有值或在运行时获得例外
时,或者,如果您想为空值提供 0 ,请使用GetValueOrDefault()
代替Value
答案 1 :(得分:1)
您可以使用Nullable<T>
的{{3}}方法,该方法将返回项目的值,如果类型为null
,则返回该类型的默认值:
var R1a = new Tuple<double, double, double, int, int, int>(
R1.Item1.GetValueOrDefault(), R1.Item2.GetValueOrDefault(),
R1.Item3.GetValueOrDefault(), R1.Item4, R1.Item5, R1.Item6);