可以说我可以选择根据字符串比较来确定要采用的代码路径,也可以根据类型来确定:
哪个更快,为什么?
switch(childNode.Name)
{
case "Bob":
break;
case "Jill":
break;
case "Marko":
break;
}
if(childNode is Bob)
{
}
elseif(childNode is Jill)
{
}
else if(childNode is Marko)
{
}
更新:我问这的主要原因是因为switch语句对于具体情况视作具体问题。例如,它不允许您使用变量,而只能使用常量,这些常量将被移至主程序集。我认为它有此限制是因为它正在执行一些时髦的操作。如果仅翻译为elseifs(如一位发布者所评论),那么为什么在case语句中不允许变量?
警告:我正在优化。这种方法被称为许多在应用程序的缓慢一部分倍。
泛舟湖上清波郎朗