gpt4 book ai didi

c# - 计算类型的对象而不计算子对象,可能吗?

转载 作者:太空狗 更新时间:2023-10-29 22:36:22 26 4
gpt4 key购买 nike

我正在尝试计算字典中每种类型的对象的数量以显示它们,但是在计算业余类型的对象时,它还会计算所有专业和名人类型的对象,因为它们是业余的 child 。有没有办法在不删除继承和只计算业余类型的对象的情况下解决这个问题?

示例代码:

private void GetTotalEntries()
{
string amateurEntries;
string profEntries;
string celebEntries;

amateurEntries = manager.competitors.Values.OfType<Amateur>().Count().ToString();
profEntries = manager.competitors.Values.OfType<Professional>().Count().ToString();
celebEntries = manager.competitors.Values.OfType<Celebrity>().Count().ToString();

EntriesTextBox.Text = "Amateur Entries:" + amateurEntries + "\nProfessional Entries:" + profEntries + "\nCelebrity Entries:" + celebEntries;
}

最佳答案

当然可以。例如,使用具有精确类型匹配的简单 Where(或 Count with predicate):

amateurEntries = manager.competitors.Values
.Where(x => x.GetType() == typeof(Amateur)).Count().ToString();

关于c# - 计算类型的对象而不计算子对象,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967030/

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