在C#下,可以用多态、策略模式、委托、表驱动方法、模式匹配来替代if-else和switch-case。多态性是面向对象编程中的一个核心概念,它允许我们通过基类的接口来调用派生类的方法。这样做的好处是,我们可以设计出更加灵活和可扩展的系统。以策略模式为例,它允许在运行时选择最适合的算法。通过定义一系列的算法,并把它们...
1、用委托字典代替switch...case; 2、利用反射替代switch...case; 3、比较两种方案 4、其他方案 5、说明 6、参考 在开发 asp.net 项目中,通常使用一般处理程序(ashx)处理前端发送过来的请求,因为一个handler会处理多个请求,故ajax请求中一般都会加一个action的参数,在handler里根据这个action做相应的处理或返回相应...
而不是从代码出发。通过对数据集合执行操作来取代 if-else 和 switch-case 条件,这有助于减少代码的...
在Python中,可以使用字典来模拟switch-case语句的功能。具体做法是将每个case作为字典的键,对应的处理函数作为值,并在字典中查找要执行的处理函数。 例如,下面是一个简单的示例: defcase1():print("执行case 1")defcase2():print("执行case 2")defcase3():print("执行case 3")# 定义一个字典,将每个case和...
使用策略模式替代switch case的适用情况: switch case的代码过于臃肿 swtich case大多时候只在一个case里跳转(具体替代原因不是很清楚,可能是浪费了时间去编译或运行其他case的代码) 策略模式,可以把不同case对应的不同的处理办法,每一个case,建立一个类,将其从原本的类中抽离出来,作为新的类。
Map里接受一个具有iterable接口的对象,然后对其进行遍历,get传入的值如果跟Map里key值对应,那么就会返回与key对应的value,如果是赋值操作Map可以完美替代switch case。 还有一种方法就是lookup对象:将所有结果写到一个对象里,传进key,返回key对应的value 这两种方法都可以完美替代switch case,不过,如果是根据条件去执行...
1、用委託字典代替switch...case; 首先在handler裡宣告一個私有的靜態委託字典,key為action字串,value為Func委託;然後把action和對應的方法新增到字典中即可; 完整示例程式碼: namespace WebApplication1 { public class Handler1 : IHttpHandler { static Dictionary<string, Action<HttpContext>> MapActions = new...
可以使用多态来替代switch case。我们可以定义一个RequestHandler接口,并针对不同的请求类型实现不同的...
《枚举+ switch-case替换 if else》 下面直接看枚举的写法。 再接下来就是,switch-case和枚举的配合使用。来替代if else. 至此结束。
switch case语句与if elseif语句类似,都是从多个选择条件里选取一个来执行。 (一)先来看一个if ...