이 작업 코드가 있습니다.
@{
var ekgList = AsList(App.Data["Ekgs"]);
foreach(var ekg in ekgList) {
<div>
@foreach (var entitiesFromSinusDataType in ekg.Sinus) {
if(entitiesFromSinusDataType.EntityId == Content.EntityId) {
<a>@ekg.ShortName</a>
}
}
</div>
}
}
내가 이해할 수있는 것 :
첫 번째 루프에 where 절을 배치하여 두 번째 루프와 "if"를 제거하는 쉬운 방법이 있어야합니다. 이 단계를 단계별로 시도하고 있지만 시도하자마자 :
@{
var ekgList = AsList(App.Data["Ekgs"]);
foreach(var ekg in ekgList) {
<div>
@foreach (var entitiesFromSinusDataType in ekg.Sinus.Where(i => i.EntityId == Content.EntityId)) {
<a>@ekg.ShortName</a>
}
</div>
}
}
이 오류가 발생합니다.
CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
이것은 동적 유형을 사용하여 발생하는 것 같습니다.
목록을 동적이 아닌 버전으로 캐스팅하는 방법이 있습니까?
캐스팅하려고 ekg.Sinus
에 ((IEnumerable<dynamic>)ekg.Sinus)
:
((IEnumerable<dynamic>)ekg.Sinus).Where(i => i.EntityId == Content.EntityId)
도움이 되었기를 바랍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다