c# - 在 LINQ 语句中转换对象类型

标签 c# linq collections

我有一个 Layer 集合,其中包含一个 Content 对象作为属性。如何将此 Content 转换为其原始对象以在 LINQ 语句中获取其属性?

例如:

var item = Layers.FirstOfDefault(x =>(PushPin)x.Content.Description == "xyz");

在这种情况下,ContentPushPin 对象类型,我想将其 Description 属性与 xyz 进行比较

最佳答案

如果 Content 可以是 PushPin 以外的东西,那么您将需要类似的东西

var item = Layers.FirstOrDefault(x => x.Content is PushPin && ((PushPin)x.Content).Description == "xyz");

关于c# - 在 LINQ 语句中转换对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25076702/

相关文章:

c# - 为什么我不能在我的代码中输入设置?

c# - 使用 LINQ 将数组高效转换为二维数组

c# - 什么时候图书馆应该被称为 "Linq-something"或 "something-Linq"?

c# - 扩展方法和编译时检查

java - 方法时间计算

java - 有什么不同

java - 在循环内循环中使用 ListIterator 从 ArrayList 中删除元素

c# - DTO命名约定、建模和继承

c# - 在循环中删除控件会导致奇怪的行为

c# - 如何在 C# 中使用子字符串从组合框中获取值