gpt4 book ai didi

c# - 如何优化下面的代码

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:07 25 4
gpt4 key购买 nike

我怎样才能优化下面的代码,下面的代码包含一个对象数组,它可能有不同类型的类对象。我宁愿移动到 switch case 而不是 if...else... 我该怎么做。

object[] emailObjs;
for (int i = 0; i < emailObjs.Length; i++)
{
if (emailObjs[i] != null)
{
if (emailObjs[i] is Rfq)
{

}
else if (emailObjs[i] is RfqBid)
{

}
else if (emailObjs[i] is RfqProjManager)
{

}
}
}

最佳答案

使用C# 7 pattern matching在带有类型检查的 switch 语句中:

switch (emailObjs[i])
{
case Rfq r:
{
// use r;
break;
}
case RfqBid r:
{
// use r;
break;
}
}

虽然这会显着压缩您的代码,但就性能而言,它不会比一堆 if 语句有太多优势,就像您的示例代码中那样。

关于c# - 如何优化下面的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43040501/

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