2017-08-08 3 views
0

コードランダム "InvalidOperationExceptionが" CalendarViewで日付を変更し、[UWP]

private void DateChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args) 
{ 
    var myDate = args.AddedDates.First(); 
    string parsedDate = myDate.ToString(); 
} 

がランダムに私はそれを避けることができますどのように

System.InvalidOperationException: 'Sequence contains no elements' 

この例外の原因は?

+0

args.AddedDatesにいくつかの要素が含まれていることを確認してから、最初の要素を取得して変換する必要があります。 – swatsonpicken

答えて

0
他の回答に似

が、私が使用するようargsもnullになる可能性:

if (args?.AddedDates != null && args.AddedDates.Any()) 
{ 
    var myDate = args.AddedDates.First(); 
    string parsedDate = myDate.ToString(); 
} 

EDIT:

指摘したように、上記のみC#6.0以降をで動作します。

if (args != null && args.AddedDates != null && args.AddedDates.Any()) 
{ 
    var myDate = args.AddedDates.First(); 
    string parsedDate = myDate.ToString(); 
} 
+1

ここでは、この(null条件)がC#6 +でしか動かないと言うために、ここに節を追加します。 –

+0

フェアポイント@Michael Coxon。それに応じて編集。 – swatsonpicken

0

これは、何も含まれていない/空でないものに.First()を呼び出すためです。空のコレクションで呼び出す場合は、例外の代わりにnullを返すFirstOrDefault()を呼び出すことをお勧めします。

0

それはargs.AddedDatesがNULLまたは空であることを意味します。 このエラーを回避するには、nullでないか空でないかどうかを確認する必要があります。

あなたは空のコレクションを可能にすることができます

まずあなたがここに行うことができますカップルの事があり

private void DateChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args) 
{ 
    if (args.AddedDates != null && args.AddedDates.Count > 0) 
    { 
     var myDate = args.AddedDates.First(); 
     string parsedDate = myDate.ToString(); 
    } 
} 
0

... ..

private void DateChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args) 
{ 
    var myDate = args.AddedDates.FirstOrDefault(); 
    if (myDate != null) 
    { 
     string parsedDate = myDate.ToString(); 
    } 
} 

は、第二に、あなたは、事前にコレクションをチェックすることができます...

private void DateChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args) 
{ 
    if(args.AddedDates != null || args.AddedDates.Any()) 
    { 
     var myDate = args.AddedDates.First(); 
     string parsedDate = myDate.ToString(); 
    } 
} 

単純なデバッグでは、問題がおそらくAddedDatesプロパティ。

関連する問題