大佬教程收集整理的这篇文章主要介绍了优化 Switch Case C#,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Switch Case,我收到 6 个不同的值,基于每个收到的值,每个值都是由规则定义的固定值。我想帮助改进这个 Switch Case,虽然它可以工作,但我不认为它构建良好或格式良好。
switch (IAp)
{
case 5:
for (var c = 0; c < 5; c++)
{
_query.NewCupon(doc,ID,datE);
}
break;
case 6:
for (var c = 0; c < 8; c++)
{
_query.NewCupon(doc,datE);
}
break;
case 7:
for (var c = 0; c < 11; c++)
{
_query.NewCupon(doc,datE);
}
break;
case 8:
for (var c = 0; c < 13; c++)
{
_query.NewCupon(doc,datE);
}
break;
case 9:
for (var c = 0; c < 16; c++)
{
_query.NewCupon(doc,datE);
}
break;
case 10:
for (var c = 0; c < 19; c++)
{
_query.NewCupon(doc,datE);
}
break;
}
代替在 switch 语句中使用 for 循环,您可以在外部使用 forloop 并执行类似的操作,
IDictionary<int,int> numberNames = new Dictionary<int,int>();
numberNames.Add(5,5);
numberNames.Add(6,8);
if(numberNames.ContainsKey(IAp))
{
for (var c = 0; c < numberNames[IAP] ; c++)
{
_query.NewCupon(doc,id,datE);
}
}
,
将您的案例逻辑移动到带有参数的函数中,我们应该调用 NewCupon 的次数。例如:
case 10:
GenerateNewCupon(doc,date,19);
break;
那么至少你没有重复使用的代码
_query.NewCupon(doc,datE);
,
var IAP = 5;
var iapDictionary = new Dictionary<int,int>
{
{ 5,5},{ 6,8},{ 7,11},{ 8,13},{ 9,16},{ 10,19},};
iapDictionary.TryGetValue(IAP,out int maxIndeX);
for (var c = 0; c < maxIndex; c++)
{
_query.NewCupon(doc,datE);
}
以上是大佬教程为你收集整理的优化 Switch Case C#全部内容,希望文章能够帮你解决优化 Switch Case C#所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。