У меня есть метод, который возвращает новый список (это относится к ответу с несколькими вариантами ответов):
public static List<questionAnswer> GetAnswersWithSelections(this Questions_for_Exam__c question)
{
List<questionAnswer> answers = new List<questionAnswer>();
answers.Add(new questionAnswer() { Ordinal = 1, AnswerText = question.AN1__c, Selected = (bool)question.Option1__c });
...
return answers;
}
Если я проверю результат этого метода - я увижу правильные данные, например, Красный = Ложь, Зеленый = Правда, Синий = Ложь
Затем я пытаюсь отфильтровать возвращаемый результат, используя метод расширения LINQ Where:
List<questionAnswer> CorrectSelections = question.GetAnswersWithSelections();
var tmpA = CorrectSelections.Where(opt => opt.Selected = true);
Когда я материализую tmpA, происходят 2 вещи:
- Данные в списке SOURCE изменяются - например, Красный = Правда, Зеленый =
True, Blue = True
- Данные в tmpA установлены на те же неверные данные
что список источников был изменен на
Есть идеи?