C#函数out多个返回值问题

 更新时间:2023年02月24日 11:04:58   作者:阿喵一定行  
这篇文章主要介绍了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,则输出结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 实例讲解C# 泛型(Generic)

    实例讲解C# 泛型(Generic)

    这篇文章主要介绍了C# 泛型(Generic)的的相关资料,文中示例代码非常详细,帮助大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C# WPF中实现图表生成的五种方式

    C# WPF中实现图表生成的五种方式

    在现代应用程序中,数据可视化是一个重要的功能,它可以帮助用户更直观地理解数据,在C# WPF中,有多种方式可以生成图表,以下是五种常见的方法,每种方法都有其独特的优势和局限,感兴趣的小伙伴跟着小编一起来看看吧
    2024-09-09
  • C#如何优雅地取消进程的执行之Cancellation详解

    C#如何优雅地取消进程的执行之Cancellation详解

    本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件
    2024-12-12
  • c#语言程序构建基块

    c#语言程序构建基块

    这篇文章主要介绍了c#语言程序构建基块,关于c#程序构建基块我们要从成员开始,class 的成员要么是静态成员,要么是实例成员。 静态成员属于类,而实例成员则属于对象,具体内容需要的小伙伴可以参考下面文章的详细内容
    2021-12-12
  • C#创建及访问网络硬盘的实现

    C#创建及访问网络硬盘的实现

    本文主要介绍了C#创建及访问网络硬盘的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • WPF开发技巧之花式控件功能扩展详解

    WPF开发技巧之花式控件功能扩展详解

    这篇文章主要给大家介绍了关于WPF日常开发之花式控件功能扩展的相关资料,通过文中这个例子,我们可以对WPF的掌握会更深刻,需要的朋友可以参考下
    2021-07-07
  • C#调用非托管动态库中的函数方法

    C#调用非托管动态库中的函数方法

    这篇文章主要介绍了C#调用非托管动态库中的函数方法,本文讲解创建一个非托管动态库,然后在C#中调用它,需要的朋友可以参考下
    2015-02-02
  • 详解C# wpf如何嵌入hwnd窗口

    详解C# wpf如何嵌入hwnd窗口

    wpf是Direct UI,窗口中只有一个hwnd句柄,大部分控件都是直接在上面绘制的,本文主要来和大家讲讲如何嵌入hwnd窗口,感兴趣的可以了解一下
    2024-03-03
  • C#控制Excel Sheet使其自适应页宽与列宽的方法

    C#控制Excel Sheet使其自适应页宽与列宽的方法

    这篇文章主要介绍了C#控制Excel Sheet使其自适应页宽与列宽的方法,涉及C#操作Excel的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • WPF实现在控件上显示Loading等待动画的方法详解

    WPF实现在控件上显示Loading等待动画的方法详解

    这篇文章主要介绍了WPF 如何在控件上显示 Loading 等待动画,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2023-03-03

最新评论