From fe188598d2c8df52cad65877019a3b9582395c9a Mon Sep 17 00:00:00 2001 From: feilong Date: Wed, 15 Dec 2021 20:40:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0C#=E7=AC=AC8=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Switch.json" | 5 ++ .../Switch.md" | 52 +++++++++++++++++++ .../config.json" | 3 +- .../sample/Program.cs" | 26 +++++++++- 4 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 "data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.json" create mode 100644 "data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.md" diff --git "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.json" "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.json" new file mode 100644 index 0000000..bea6134 --- /dev/null +++ "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.json" @@ -0,0 +1,5 @@ +{ + "type": "code_options", + "author": "huanhuilong", + "source": "Swtich.md" +} \ No newline at end of file diff --git "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.md" "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.md" new file mode 100644 index 0000000..b4a6a02 --- /dev/null +++ "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/Switch.md" @@ -0,0 +1,52 @@ +# 多条件分支 + +以下C#代码的输出是多少? + +```csharp +int Calc(char op, int a, int b){ + if(op=='+'){ + return a+b; + }else if(op=='-'){ + return a-b; + }else if(op=='*'){ + return a*b; + }else if(op=='/'){ + try{ + return a/b; + }catch(DivideByZeroException e){ + throw new Exception("被除数不能为0"); + } + }else{ + throw new Exception("无效的操作符"); + } +} + +int ret = Calc('*', Calc('+',1, Calc('-',3,Calc('/',1,2))), Calc('-',3,Calc('/',1,2))); +Console.WriteLine("ret={0}", ret); +``` + +## 答案 + +```csharp +ret=12 +``` + +## 选项 + +### A + +```csharp +ret=10 +``` + +### B + +```csharp +Unhandled exception. System.Exception: 无效的操作符 +``` + +### C + +```csharp +Unhandled exception. System.Exception: 被除数不能为0 +``` diff --git "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/config.json" "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/config.json" index 580d330..feaa8d7 100644 --- "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/config.json" +++ "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/config.json" @@ -3,6 +3,7 @@ "keywords": [], "children": [], "export": [ - "Guard.json" + "Guard.json", + "Switch.json" ] } \ No newline at end of file diff --git "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/sample/Program.cs" "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/sample/Program.cs" index 91b68cd..f4cc634 100644 --- "a/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/sample/Program.cs" +++ "b/data/1..NET\345\210\235\351\230\266/2.C#\350\257\255\346\263\225/6.C# \344\270\255\344\275\277\347\224\250 if-elseif-else \345\210\206\346\224\257\345\210\244\346\226\255/sample/Program.cs" @@ -66,7 +66,7 @@ void Path3(bool a, bool b, bool c, bool d){ Console.WriteLine(PathValue(a,b,c,d)); } -void Path3(bool a, bool b, bool c, bool d){ +void Path(bool a, bool b, bool c, bool d){ if(a){ if(b){ if(c){ @@ -87,4 +87,26 @@ void Path3(bool a, bool b, bool c, bool d){ } } -Path(true,true,false,false); \ No newline at end of file +// Path(true,true,false,false); + + +int Calc(char op, int a, int b){ + if(op=='+'){ + return a+b; + }else if(op=='-'){ + return a-b; + }else if(op=='*'){ + return a*b; + }else if(op=='/'){ + try{ + return a/b; + }catch(DivideByZeroException e){ + throw new Exception("被除数不能为0"); + } + }else{ + throw new Exception("无效的操作符"); + } +} + +int ret = Calc('*', Calc('+',1, Calc('-',3,Calc('/',1,0))), Calc('-',3,Calc('/',1,2))); +Console.WriteLine("ret={0}", ret); \ No newline at end of file -- GitLab