ToString을 사용할 때 My ProcessDate 유형이 DateTime?
인 경우 예외가 표시됩니다.DateTime의 'ToString'메서드? 0 개의 매개 변수가 있지만 1 개의 인수로 호출됩니다.
dfCalPlanDate.Text = concreteCalPlan.ProcessDate.ToString("d");
감사합니다.
ToString을 사용할 때 My ProcessDate 유형이 DateTime?
인 경우 예외가 표시됩니다.DateTime의 'ToString'메서드? 0 개의 매개 변수가 있지만 1 개의 인수로 호출됩니다.
dfCalPlanDate.Text = concreteCalPlan.ProcessDate.ToString("d");
감사합니다.
간단한 (그리고 따라서, Nullable<DateTime>
, 일명 DateTime?
) Nullable<T>
는 방법 ToString(String)
이 없습니다.
아마도 DateTime.ToString(String)
을 호출하려고했을 것입니다. 널 안전한 방법으로이 작업을 수행하려면, 당신은 C# 6의 null-conditional operator?.
를 사용할 수 있습니다
dfCalPlanDate.Text = concreteCalPlan.ProcessDate?.ToString("d");
: ProcessDate
가 null
입니다 null
경우이 항복 할 것을
var date = concreteCalPlan.ProcessDate;
dfCalPlanDate.Text = (date == null ? null : date.ToString("d"));
주 .
dfCalPlanDate.Text = concreteCalPlan.ProcessDate?.ToString("d") ?? "no date set";
이것은 ** C# 6 **에서만 작동합니다. –
@ m.rogalski C# 6은 "유일한"것이 아닙니다. 게다가 대답은 '값'에 액세스해야한다는 것입니다. 간결한 현재 구문을 사용하는 것은 사실 보너스입니다. –
@ m.rogalski : 명시 적으로 언급하지 않고 가정 할 수있는 가장 낮은 C# 버전은 무엇이되어야합니까? – Heinzi
ProcessDate이 날짜 시간되지 않습니다 : 당신이 그 경우에 다른 결과를해야하는 경우 널 병합 연산자 ??
을 추가 할 수 있습니다. ProcessDate.Value입니다. 다음을 수행해야합니다.
dfCalPlanDate.Text = concreteCalPlan.ProcessDate.Value.ToString("d");
DateTime? 먼저 값이 있습니다.
if (concretePlan.ProcessDate! = null) dfCalPlanDate.Text = concreteCalPlan.ProcessDate.Value.ToString ("d"); 감사합니다. – Ilaria
ProcessDate의 출처에 따라 다르지만 db 쿼리의 필드입니까? – BugFinder
ProcessDate.Value.ToString으로 시도하십시오. –
@BugFinder는 출처가 아닌 유형 문제 만 처리합니다. OP가 이미 언급했듯이, 그것은 DateTime입니까? –