huz*_*zle 4 c# linq datetime replace nullable
我怎么能代替所有DateTime?S其中日期是null用DateTime.MaxValue?
我试过了:
Array.ConvertAll(myDateTimeArray, a => a = a.HasValue ? a : DateTime.MaxValue);
Run Code Online (Sandbox Code Playgroud)
并且:
myDateTimeArray.Where(a => a == null).ToList().ForEach(a => a = DateTime.MaxValue);
Run Code Online (Sandbox Code Playgroud)
之后我想做类似的事情:
DateTime minDate = myDateTimeArray.Min(a => a.Value);
Run Code Online (Sandbox Code Playgroud)
但我得到的InvalidOperationException,因为a.Value是null...
你可以这样做:
myDateTimeArray = myDateTimeArray.Select(dt => dt ?? DateTime.MaxValue).ToArray();
Run Code Online (Sandbox Code Playgroud)
这将取代整个阵列,而不是其各个元素.如果需要替换单个元素,请改用for循环.
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |