raxhemanth Ответов: 2

Оператор '= = 'не может быть применен к операндам типа' igrouping & lt;string, problemsandproceduresmodel> 'и'string'?


я написал следующую строку, чтобы получить уникальные коды snomed, но получил вышеупомянутую ошибку, упомянутую в вопросе.

любой может мне помочь.

returnOperationResult.Data = returnList.Where(x => !currentAndFullProblemsProcedures.Any(e => e == x.ProblemSnomedCode));


Что я уже пробовал:

1)returnOperationResult.Data = returnList.Где (x =>! currentAndFullProblemsProcedures.Любой(е =&ГТ; е == х.ProblemSnomedCode()));
2) returnOperationResult.Data = returnList.Где (x =>! currentAndFullProblemsProcedures.Любой(е =&ГТ; е == х.ProblemSnomedCode.Отделка));
3) returnOperationResult.Data = returnList.Где (x =>! currentAndFullProblemsProcedures.Любой (e => Convert.ToString (e) == x. ProblemSnomedCode));
4) returnOperationResult.Data = returnList.Где (x =>! currentAndFullProblemsProcedures.Любой (e => e == x.ProblemSnomedCode).Метод toString());

Karthik_Mahalingam

что такое тип " currentAndFullProblemsProcedures"

2 Ответов

Рейтинг:
2

Maciej Los

Проблема в этом утверждении: e == x.ProblemSnomedCode().
e это тип ProblemsAndProceduresModel
и
x.ProblemSnomedCode это тип string.

Чтобы иметь возможность сравнивать их, вы должны изменить его, добавив соответствующее поле / метод после e например,: e.CurrentSnomedCode == x.ProblemSnomedCode()


Рейтинг:
1

OriginalGriff

Ошибка заключается просто в том, что e это не строка, и ее нельзя сравнить с ней, когда вы делаете это:

...ures.Any(e => e == x.ProblemSnomedCode)

Правая часть теста на равенство-это строка (или ваши другие усилия не будут компилироваться), но вам нужно посмотреть на тип теста. currentAndFullProblemsProcedures коллекция, чтобы решить, с каким строковым свойством вы пытаетесь работать. Помните, что любая итерация повторяет коллекцию, поэтому вам нужно посмотреть, какие элементы содержит коллекция, а не пытаться использовать сам элемент.