我对如何从IEnumerable<object>
获取特定信息感到困惑。
我的应用程序后端提供IEnumerable<object>
,其中包含这两个属性的集合。
int id
string chronik
用于GUI用法我想只选择字符串属性
我试过了:
//creating objects
backend be = new backend();
chronikDTO cronDTO = new chronikDTO();
be.getallchronik(cronDTO); //calling DB-query via Entityframework
string[] cronarry = new string[] {};
for (int x=0; x <= cronDTO.chronik.count(); x++)
{
cronarry[x] = cronDTO.chronik.select(y => y.cron.tostring());
}
但这不会导致可用的结果。我没有编写一个只查询数据库中字符串属性的新方法,如果在其他用例中我需要两个属性。
答案 0 :(得分:4)
听起来你可能只是在以下之后:
List<string> data = cronDTO.chronik
.OfType<Foo>()
.Select(x => x.chronik)
.ToList();
(其中Foo
是您调用的实际类型。)
如果每个元素实际上都是Foo
,则可以使用Cast<Foo>()
代替OfType<Foo>()
。