gpt4 book ai didi

c# - IEnumerable.Single 和类型转换

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:47 26 4
gpt4 key购买 nike

我有 2 个对象 A 和 B。B 继承自 A 并具有更多属性。我有 IEnumerable{A} 只包含 B 对象。我想做的是:

list.Single(b => b.PropertyThatOnlyExistOnB == "something")

我希望这样的事情能起作用:

list.Single((B) b => b.PropertyThatOnlyExistOnB == "something")

但是它不编译。现在我只是在做:

B result = null;
foreach (b in list)
{
if((B)b.PropertyThatOnlyExistOnB == "something")
{
result = (B)b;
}
}

有没有更短的路?谢谢

最佳答案

使用 Enumerable.OfType<TResult> 过滤/转换的扩展方法。

list.OfType<B>().Single(b => b.PropertyThatOnlyExistOnB == "something")

关于c# - IEnumerable<T>.Single 和类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7991828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com