作為以下場景的示例,我如何檢查quizType1Attempt
和/或是否quizType2Attempt
為空(不檢查這些陳述句之前)?
var resultRecord = studentDomain.quizType1Attempts.Select(quizType1Attempt => new resultRecord {
Id = quizType1Attempt.Id,
Subject = quizType1Attempt.Subject,
...
}).Union(studentDomain.quizType2Attempts.Select(quizType2Attempt => new resultRecord {
Id = quizType2Attempt.Id,
Subject = quizType2Attempt.Subject
...
})).ToList();
uj5u.com熱心網友回復:
只需在可空物件后添加空合并運算子 (?)。
var resultRecord = studentDomain.quizType1Attempts?.Select(quizType1Attempt => new resultRecord
{
Id = quizType1Attempt.Id,
Subject = quizType1Attempt.Subject
}) ?? new List<resultRecord>().Union(studentDomain.quizType2Attempts?.Select(quizType2Attempt => new resultRecord
{
Id = quizType2Attempt.Id,
Subject = quizType2Attempt.Subject
}) ?? new List<resultRecord>()).ToList();
uj5u.com熱心網友回復:
您可以添加Where()
謂詞來過濾串列中的專案。
var resultRecord = studentDomain.quizType1Attempts.Where(q1 => q1 != null).Select(quizType1Attempt => new resultRecord {
Id = quizType1Attempt.Id,
Subject = quizType1Attempt.Subject,
...
}).Union(studentDomain.quizType2Attempts.Where(q2 => q2 != null).Select(quizType2Attempt => new resultRecord {
Id = quizType2Attempt.Id,
Subject = quizType2Attempt.Subject
...
})).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/506994.html