私は持っています:
DateTime?[] dates
私はに変換する必要があります:
Double?[] oaDates
このワンライナーをクリーンアップする方法はありますか?それとも、関数に頼るべきですか?
DateTime?[] dates = new DateTime?[]{DateTime.Now, DateTime.Now.AddDays(1), DateTime.Now.AddDays(2)}; //example array
Double?[] oaDates = dates.Select(t => (t==null)?((double?)null):(t??DateTime.MinValue).ToOADate()).ToArray();
nullであることを確認せずにtのメソッドを呼び出すことはできず(したがって、3次演算子)、OADateを呼び出すことができるように、メソッドも合体する必要があります(したがって、合体とフィラーのDateTime.MinValueはヒットしません)。
それは一行で仕事を成し遂げます、しかしそれは少しperlのように見えます。
多分拡張メソッド?そうすれば、醜さを隠して、次のようなことをすることができます。
dates.ToNullableOADates();