我有一個:更清潔的方式來將可空的datetime數組轉換爲可爲空的double?
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();
我不能叫上噸的方法不檢查它的空(因此第三操作),我有聚結它,以及使我可以調用OADate(因此聚結和填料DateTime.MinValue那永遠不會被擊中)。
它完成了一行中的工作,但它看起來有點像perl一樣。
也許是擴展方法?這樣我可以掩蓋醜陋,只是沿着這樣的方向行事:
dates.ToNullableOADates();
太好了。這正是我所期待的! – dubbreak
如果你要這樣,稱它爲ToOADate :) –