C#函数多返回值的方法
C#以前都是不支持多返回值,当需要返回多个值的时候,就会感觉比较麻烦,通常的做法有
1.采用ref,out 关键字返回
2.定义类或者结构体 返回对象
C# 6.0出来了新的语法 Tuple 支付返回多个值
示例:
1 class Demo 2 { 3 public void Run() 4 { 5 var num = Exec(5, 6); 6 Console.WriteLine(num.Item1); //第一个返回值 7 Console.WriteLine(num.Item2); //第二个返回值 8 9 Console.WriteLine(); 10 var num2 = Exec2(5, 6); 11 Console.WriteLine(num2.Item1); //第一个返回值 12 Console.WriteLine(num2.Item2); //第二个返回值 13 Console.WriteLine(num2.Item3); //第三个返回值 14 } 15 16 public Tuple<int, int> Exec(int a, int b) 17 { 18 Tuple<int, int> tup = new Tuple<int, int>(a + b, a * b); 19 return tup; 20 } 21 22 public Tuple<int, int, int> Exec2(int a, int b) 23 { 24 Tuple<int, int, int> tup = new Tuple<int, int,int>(a + b, a * b, a - b); 25 return tup; 26 } 27 28 }
结果:
这样就返回多个值了。。
参考:http://204367.vhost447.cloudvhost.net/Article.aspx?id=cbd9ec8b-2329-49e0-9719-1cf48fd64d6e
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构