【发布时间】:2018-03-27 01:32:26
【问题描述】:
我有 linq,它通过 id 连接两个列表并返回强类型列表:
List<TestowaKlasaDlaLinq> linqlambda = ListDetailedData.Join(PlacesList, a => a.place.id, b => b.id, (a, b) =>
new TestowaKlasaDlaLinq()
{
Czas = a.startDate.TimeOfDay.ToString(),
Co = a.name,
Miasto = b.address.city,
Miejsce = a.organizer.designation
}).ToList();
现在一切正常。当我尝试过滤该列表时出现问题,例如:
var onlyGdansk = linqlambda.Where(x => x.Miasto.Equals("Gdańsk")).Select(x => x).ToList();
“TestowaKlasaDlaLinq”类型的强类型列表的强字段怎么可能在该上下文中不存在?
【问题讨论】:
-
应该可以 - 你有错字吗?
-
不,我没有。
-
只是为了检查,试试这个: var onlyGdansk = linqlambda.Where(tkdl => tkdl.Miasto.Equals("Gdańsk")).Select(dl => dl).ToList();
-
我认为,其中一个 x.Miasto 值为 null,这就是原因,它向您显示了此错误。试试 var ar onlyGdansk = linqlambda.Where(tkdl => tkdl.Miasto!=null && tkdl.Miasto.Equals("Gdańsk")).Select(dl => dl).ToList();
-