C# 你可能没这样用过(逗逼方式) return

  本文纯属园友交流之用,你能写去多少种  return  的使用场景,注意是使用形式。(欢迎补充。。)

   C# 中 return 关键子字是我们用的再常用不过的一个语法了,然而你用到过他们所有的表现形式吗?
下面我就来一一演示它出现的各种场合,仅限于个人能想到的,还是那句话,强烈欢迎补充。。共同进步。

1.第一种我们常见的格式

1 public int CalcNum(int x, int y)
2 {
3 return x * y;//返回一个整形值
4 }

 

2.立即结束方法并返回void类型

1 public void CalcDiv(int x, int y,ref int result)
2 {
3 if (x <= 0) return;//立即返回操作,下面不再执行
4 result = x / y;
5 }


3.直接接收一个方法执行的结果并返回结果

1 public int CalcAdd(int x, int y)
2 {
3 return CalcNum(x, y) + 100;//执行一个方法返回的结果与整形相加
4 }


4.在Switch里面使用

复制代码
 1  public string SwitchFun(int swh)
2 {
3 switch (swh)//使用return直接返回,而不是先break;然后在返回
4 {
5 case 1:
6 return "abc";
7 case 2:
8 return "def";
9 case 3:
10 return "hij";
11 default:
12 return "default";
13 }
14 }
复制代码

 

5.在递归下面使用,(好像与第三种重复说明)

复制代码
 1 public int Foo(int n)//递归求斐波那契数列
2 {
3 if (n <= 2)
4 {
5 return 1;
6 }
7 else
8 {
9 return Foo(n - 1) + Foo(n - 2);
10 }
11 }
复制代码


6.与TryFinally结合使用

复制代码
 1  public void TryFinally()
2 {
3 try
4 {
5 return;
6 }
7 finally
8 {
9 Console.WriteLine("就算你返回了!我还是要打印,我就是想在打一会!");
10 }
11 }
复制代码

 

7.这个可能一般人没用过,我在 http://www.cnblogs.com/NatureSex/archive/2011/12/07/2278575.html 随笔提到过

[DllImportAttribute("user32.dll", EntryPoint="SetCursorPos")]
[return:MarshalAsAttribute(UnmanagedType.Bool)]
//告执行如何封送返回参数
//主要指定用于在托管代码与非托管代码之间转换数据类型的封送处理行为
public static extern bool SetCursorPos(int X, int Y);

 8.临时补充的一个

 

复制代码
 1 public IEnumerable<int> GetSider()
2 {
3 for (int i = 0; i < 100; i++)
4 {
5 if (i % 2 == 0)
6 {
7 yield return i;//返回满足条件的并放入迭代器中
8 }
9 }
10 }
复制代码

 

这个是我目前能想到的!可能遗忘看了一些!欢迎补充呀!

  在很多编程语言中 return 语句是一个必不可少的部分,用好了它是利器,用不好它是凶器(啊哈,别想歪了)。
就看你了不了解它做事的行为,以及它能做什么事情,才能发挥它到最大用去。

posted @   JasNature  阅读(13180)  评论(29编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示