程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了优化 Switch Case C#大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决优化 Switch Case C#?

开发过程中遇到优化 Switch Case C#的问题如何解决?下面主要结合日常开发的经验,给出你关于优化 Switch Case C#的解决方法建议,希望对你解决优化 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,请注明来意。
标签:优化