只是想知道哪種方法會更好,如果代碼塊都將產生相同的結果:使用switch語句的最佳做法是什麼?拼圖?具體?
string from = ddFrom.SelectedItem.ToString(),
to = ddTo.SelectedItem.ToString();
switch(from)
{
case "celsius":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
case "fahrenheit":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
case "kelvin":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
}
或者這一個:
string from = ddFrom.SelectedItem.ToString(),
to = ddTo.SelectedItem.ToString(),
conversion = from + to;
switch(conversion)
{
case "celsiusfahrenheit":
break;
case "celsiuskelvin":
break;
case "fahrenheitcelsius":
break;
case "fahrenheitkelvin":
break;
case "kelvincelsius":
break;
case "kelvinfahrenheit":
break;
}
感謝。
兩個這些*是可怕的*。你對標識符進行硬編碼,切換字符串,並將物體方向引向風中。你爲什麼不放棄,並嘗試方法重載呢? – 2011-05-25 10:10:25
嗨科迪,感謝您的意見。不幸的是,我們還沒有討論OOP。所以是的,也許當我們通過面向對象的時候,我會明白你在說什麼:) – dork 2011-05-26 00:16:28
不知道你如何從OOP中分離出C#。這一定很混亂。 – 2011-05-26 09:09:04