Mat*_*bye 2 c# if-statement nested
什么是重构此代码以避免长嵌套else if语句的好方法?这需要一段时间,所以将它变成一个更简单的功能会很好.
以下是我的代码:
if (data == "Januar")
{
int cellnr = 1;
searchdata(row["CarNo"].ToString(), cellnr);
}
else if (data == "Februar")
{
int cellnr = 2;
searchdata(row["CarNo"].ToString(), cellnr);
}
else if (data == "Marts")
{
int cellnr = 3;
searchdata(row["CarNo"].ToString(), cellnr);
}
else if (data == "April")
{
int cellnr = 4;
searchdata(row["CarNo"].ToString(), cellnr);
}
else if (data == "Marts")
{
int cellnr = 5;
searchdata(row["CarNo"].ToString(), cellnr);
}
Run Code Online (Sandbox Code Playgroud)
你可以使用一个switch语句,但IMO仍然很冗长,我更喜欢字典:
Dictionary<string, int> mapping = new Dictionary<string, int>()
{
{"Januar", 1},
{"Februar", 2},
{"Marts", 3},
{"April", 4},
};
searchdata(row["CarNo"].ToString(), mapping[data]);
Run Code Online (Sandbox Code Playgroud)