스위치 - C#에서 많은 변수를 전환하는 방법 (값이 널 또는 비어 있는지 점검))를 사용하여 거대한 if-else-if 체인 (+20 else-ifs)을 대체합니다. 어떻게 스위치 문으로 내 코드를 교체 이하, 더욱 효율적인 코드 수 있습니다 : 나는을 시도스위치 - C#에서 여러 변수를 대입하는 방법 (값이 널 또는 비어 있는지 검사) if-else-if 체인을 교체하십시오.
con.Open();
SqlCommand cmd = new SqlCommand("usp_AddPublisher", con);
cmd.CommandText = "usp_AddPublisher";
cmd.CommandType = CommandType.StoredProcedure;
if (String.IsNullOrEmpty(data.Account_Num))
{
cmd.Parameters.AddWithValue("@AccountNum", "");
}
else
cmd.Parameters.AddWithValue("@AccountNum", data.Account_Num);
if (String.IsNullOrEmpty(data.publisher))
{
cmd.Parameters.AddWithValue("@publisher", "");
}
else
cmd.Parameters.AddWithValue("@publisher", data.publisher);
if (String.IsNullOrEmpty(data.addr1))
{
cmd.Parameters.AddWithValue("@addr1", "");
}
else
cmd.Parameters.AddWithValue("@addr1", data.addr1);
을하지만 너무 길어 :
con.Open();
SqlCommand cmd = new SqlCommand("usp_AddPublisher", con);
cmd.CommandText = "usp_AddPublisher";
cmd.CommandType = CommandType.StoredProcedure;
switch (String.IsNullOrEmpty(data.Account_Num))
{
case true:
cmd.Parameters.AddWithValue("@AccountNum", "");
break;
case false:
cmd.Parameters.AddWithValue("@AccountNum", data.Account_Num);
break;
}
switch (String.IsNullOrEmpty(data.publisher))
{
case true:
cmd.Parameters.AddWithValue("@publisher", "");
break;
case false:
cmd.Parameters.AddWithValue("@publisher", data.publisher);
break;
}
switch (String.IsNullOrEmpty(data.addr1))
{
case true:
cmd.Parameters.AddWithValue("@addr1", "");
break;
case false:
cmd.Parameters.AddWithValue("@addr1", data.addr1);
break;
}