我怎样才能优化下面的代码,下面的代码包含一个对象数组,它可能有不同类型的类对象。我宁愿移动到 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/