이 코드를 리팩터링하려고하는데 값이있는 사전을 만드는 것이 어렵지만 확실하지 않습니다.내부에 여러 문자열 조건이있는 여러 if 문을 리팩토링하는 방법은 무엇입니까?
String version "1.0";
if (version.Equals("1.0.0(beta)") || version.Equals("1.0.0(beta2)") || version.Equals("1.0.0(beta3)") || version.Equals("1.0.0"))
{
newVersion= executionType.Equals("Install") ? "2.0.0(beta)" : "1.0.0(beta)";
}
else if(version.Equals("3.0.0(beta)") || version.Equals("3.0.0(beta2)") || version.Equals("3.0.0(beta3)") || version.Equals("3.0.0"))
{
newVersion= executionType.Equals("Install") ? "4.0.0(beta)" : "3.0.0(beta)";
}
else if (version.Equals("5.0.0(beta)") || version.Equals("5.0.0(beta2)") || version.Equals("5.0.0(beta3)") || version.Equals("5.0.0" || version.Equals("5.0.0.b"))
{
newVersion= executionType.Equals("Install") ? "6.0.0(beta)" : "5.0.0(beta)";
}
else if(same){
newVersion = same;
7 인 경우 총계가 같습니다. .NET 2.0에서는이 작업을 수행해야합니다. .NET2.0를 들어
여러분의 조건을 처리하기 위해'switch'를 사용하십시오.'||'에 대해'switch fallthrough'를 사용할 수 있습니다. https://en.wikipedia.org/wiki/Switch_statement –
스위치를 사용하면 스위치를 사용해야합니다. (버전)을 비교하고 같은 줄에있는 동일한 여러 문자열을 사용하여 값을 비교하면됩니다. – dracarons