C#函数out多个返回值问题
作者:阿喵一定行 发布时间:2022-11-14 21:58:55
标签:C#,函数,out,返回值
C#函数返回多个参数数值
通过out/Ref实现,声明函数时用out指定返回变量。
写了一个DEMO,输入字符“测试字符”和数字6,返回“测试字符+新加字符”和666。
写了一个窗体和button触发函数,整理代码如下,供大家参考。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_Test_Click(object sender, EventArgs e)
{
//提前声明返回参数变量
string str;
int num;
getValue("测试字符", 6,out str,out num);//调用函数返回数值
//输出查看
Console.WriteLine("str:" + str + ";类型:" + str.GetType().ToString());
Console.WriteLine("num:" + num + ";类型:" + num.GetType().ToString());
}
//定义测试函数
public void getValue(string in_str, int in_int, out string out_str, out int out_int)
{
out_str = in_str + "+新加字符";
out_int = in_int + 660;//函数结束一定给所有out对应变量赋值
}
}
}
输出效果如下:
C#调用一个函数通过out返回多个变量值/数据
我们知道一个函数使用过Return来返回值的话只能返回一个值,在c#中,自定义一个函数时,用out 来out多个值出来,调用的时候就可以返回多个值
举例
现在自己写一个函数calculate(),需要返回加法和减法的计算结果,在主函数中输出
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int c , d ;
calculate(2, 3, out c,out d);
Console.WriteLine(c);
Console.WriteLine(d);
Console.ReadLine();
}
private static void calculate(int a, int b, out int c, out int d)
{
c = a + b;
d = a - b;
}
}
}
private
写习惯了static
不想在主函数中再对calculate实例化void
不要返回值 (第一次写的时候掉了void 别掉)
也可以加返回值,比如,取返回值是bool型。比较a,b的值,如果a>b,输出c,如果a<=b,则c不输出,输出“nothing”
static void Main(string[] args)
{
int c;
if (calculate(2, 3, out c))
Console.WriteLine("c = "+c);
else
Console.WriteLine("Nothing");
Console.ReadLine();
}
private static bool calculate(int a, int b, out int c)
{
bool t;
if (a > b)
t = true;
else
t = false;
c = a - b;
return t;
}
输出结果:
如果改变输入 使得a= 3,b =2,则输出结果:
来源:https://blog.csdn.net/qq_38560619/article/details/107118285


猜你喜欢
- java中 Set与Map排序输出到Writer详解及实例一般来说java.util.Set,java.util.Map输出的内
- 需求:android存储字符串数据简单的有SharePerfence不过只能存储89kb最多的数据(好像),超过这个数据如果不方便网络存储,
- 本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下先看效果图如何使用import java.te
- 上一篇介绍了Tesseract库的使用(OCR库Tesseract初探),文末提到了Tesseract是用c/c++开发的,也有C#的开源版
- 使用RateLimiter通过AOP方式进行限流1、引入依赖<!-- guava 限流 --><dependency>
- C++ 中String 替换指定字符串的实例详解C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串
- 开发中最让人头疼的是应用突然 * ,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误
- 在Android TV上一般选中某个View, 都会有焦点突出放大的效果, 但是当在RecyclerView中(ListView或GridV
- 引言在学习Java过程中,排序sort是我们常用的功能;在Java里,数组有Arrays.sort()可以排序,集合则是Collection
- 要说在 Spring Boot 中注册过滤器有三种方式,你都能想到哪些呢?今天松哥就来和大家聊一聊 Spring Boot 中注册过滤器的三
- 1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。2)new 修饰符:在用作修饰符时,new 关键字可以显
- 本文实例讲述了java可变参数当做数组处理的方法.分享给大家供大家参考,具体如下:java可变参数当做数组处理ava1.5增加了新特性:可变
- 本文实例讲述了Android选项菜单用法。分享给大家供大家参考。具体如下:Android平台下所提供的菜单大体上可分为三类:选项菜单、上下文
- 前言本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、
- feign.codec.DecodeException异常在微服务项目使用Feign进行远程服务调用时出现该异常:feign.codec.D
- 微服务治理Spring Cloud 工具套件为微服务治理提供了全面的技术支持。这些治理工具主要包括服务的注册与发现、负载均衡管理、动态路由、
- C#如何检测文本文件的编码,本文为大家分享了示例代码,具体内容如下using System;using System.Text;using
- 拖延症最可怕的地方就是:就算自己这边没有拖延,但对方也会拖延,进而导致自己这边也开始拖延起来!现在这个项目我这边已经是完工了,但是对方迟迟没
- 开发项目的时候,表很多,是不可能一点点的自己去写xml ,dao文件的,这里就需要用到代码的自动生成工具了。第一步:导入jar包,当然,这之
- 在popupWindow里面再弹出popupWindow的时候会报这样的错误ERROR/AndroidRuntime(888): andro