我有linq,它通过id连接两个列表,并返回强类型的List:

   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();


出现错误:
c# - 尝试在强类型列表上的“位置”时出错,错误CS0103-LMLPHP

在这种情况下,怎么可能不存在类型为“ TestowaKlasaDlaLinq”的强类型列表的强字段?

最佳答案

我认为,x.Miasto值之一为null,这就是原因,它向您显示此错误。

var onlyGdansk = linqlambda.Where(tkdl => tkdl.Miasto!=null && tkdl.Miasto.Equals("Gdańsk")).Select(dl => dl).ToList();

07-27 13:15