c#-C#函数多个返回值,除了out ref还有什么做法?

问题描述

C#函数多个返回值,除了out ref还有什么做法?

C#函数多个返回值,除了out ref还有什么做法?

解决方案

对于引用类型,完全可以不用这个修饰,比如
class A
{
public int a;
public int b;
}
main()
{
A a = new A();
foo(a);
int x = a.a;
int y = a.b;
}
void foo(A a)
{
a.a = 1;
a.b = 2;
}

解决方案二:

再换一个思路,我们也可以靠返回值,比如返回值如果是一个结构体、数组、集合或者类,那么它天然可以包含很多单个的数据元素,从而相当于返回多个值。

解决方案三:

直接一个指针就行,多少数据都可以返回的。

解决方案四:

定义一个类,包含所有想返回值 的属性。返回值类型为这个类。

时间: 2025-01-21 09:46:30

c#-C#函数多个返回值,除了out ref还有什么做法?的相关文章

线程中的回调函数如何获得返回值,请高手开悟,在线等......

问题描述 普通回调方法:classA{classBxx=newclassB();stringss=k.ca(tm);stringtm(stringxm){returnxm+"一杯醉倒";}}classB{publicdelegatestringtc();publicstringca(tcmm){MessageBox.Show("到这里了!");returnmm("我");}}执行stringss=k.ca(tm);语句后,得到回调函数tm的返回值

asp.net 函数的定义 返回值 调用方法详解说明(vb.net/c#)

asp教程.net 函数的定义 返回值 调用方法详解说明(vb.net/c#),首页我们来看一个vb.net中开的asp.net教程创建一个函数的做法,如下 <script runat="server" language="VB">       Function getName() As String         Return "a"       End Function       Sub Page_Load(s As Obje

《像计算机科学家一样思考Python》——3.11 有返回值函数和无返回值函数

3.11 有返回值函数和无返回值函数 我们使用过的函数中,有一部分函数,如数学函数,会产生结果.因为没有想到更好的名字,我称这类函数为有返回值函数(fruitful function).另一些函数,如print_twice,会执行一个动作,但不返回任何值.我们称这类函数为无返回值函数(void function). 当你调用一个有返回值的函数时,大部分情况下都想要对结果做某种操作.比如,你可能会想把它赋值给一个变量,或者用在一个表达式中: x = math.cos(radians) golden

MFC类库之CArray作为函数参数和返回值

一.获得返回值: 可以作为函数的一个参数 比如定义fun(CArray<int, int &> &array) 采用引用类型,就可以直接使用 二.作为函数参数: #include<Afxtempl.h> //定义函数. void ansnode(int num,CArray<double,double&> m_adX, CArray<double,double&> m_adY, CArray<double,double&

C语言函数说明与返回值

在学习C语言函数以前,我们需要了解什么是模块化程序设计方法.人们在求解一个复杂问题时,通常采用的是逐步分解.分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解.程序员在设计一个复杂的应用程序时,往往也是把整个程序划分为若干功能较为单一的程序模块,然后分别予以实现,最后再把所有的程序模块像搭积木一样装配起来,这种在程序设计中分而治之的策略,被称为模块化程序设计方法.在C语言中,函数是程序的基本组成单位,因此可以很方便地用函数作为程序模块来实现C语言程序.利用函数,不仅

工厂函数-$()方法的返回值一定是一个jquery对象吗?

问题描述 $()方法的返回值一定是一个jquery对象吗? 请教大虾,"$()方法的返回值一定是一个jquery对象",这句话是对的还是错的呢?请说明原因,谢谢 解决方案 其实$()可以包含两个参数,$(selectorcontext) selector:用来查找的字符串context:指定查找的位置,context不写默认情况下是在当前的 HTML document中查找 DOM 元素,无论如何$()返回的一定是个DOM对象. 解决方案二: 如果引了JQuery可以认为是,如果没有引

Android单元测试 - 验证函数参数、返回值的正确姿势

前言 读者有没发觉我写文章时,喜欢有个前言.序?真相是,一半用来装逼凑字数,一半是因为不知道接下来要写什么,先闲聊几句压压惊^_^ 哈哈哈......该说的还是要说. 上一篇<Android单元测试 - Sqlite.SharedPreference.Assets.文件操作 怎么测?> 讲了一些DAO(Data Access Object)单元测试的细节.本篇讲解参数验证. 验证参数传递.函数返回值,是单元测试中十分重要的环节.笔者相信不少读者都有验证过参数,但是你的单元测试代码真的是正确的吗

linux shell自定义函数(定义、返回值、变量作用域)介绍_linux shell

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu

C++中函数模板(function template)返回值

函数模板的返回值也可以定义为模板参数(template parameter), 但是由于无法推导(deduce), 需要显式(explicit)指定; 由于显式指定的顺序是从左至右, 返回值参数尽量放在左面,其余函数参数可以通过传入实参(argument)进行推导; 也可以提供由其他参数推导出的返回值类型, 需要使用拖尾返回类型(trailing return type); 使用decltype()函数推导, 即"编译时定义的类型", 注意使用拖尾返回类型时, 前置需要"au