C#学习笔记:让函数有多个返回值
2009-10-14 12:00
387 查看
看到这个题目,我们可能会有点迟疑,理论上讲一个函数只有一个返回值,是的,确实是这样,但我们同样也有方法可以实现这个效果:
使用ref关键字:
//Example1
using System;
namespace Program
{
class Test
{
static void Main()
{
Test ts = new Test();
int i=0;//必须有初始化
int sum = ts.Fun(ref i, 10);
Console.WriteLine(i);//输出10
Console.WriteLine(sum);//输出20
Console.ReadKey();
}
public int Fun(ref int i, int j)
{
i = j;
return i + j;
}
}
}
使用out关键字同样也可以打到这种效果,示例代码如下:
//Example2
using System;
namespace Program
{
class Test
{
static void Main()
{
Test ts = new Test();
int i=0;//必须有初始化
object obj;//可以不用初始化
ts.Fun(ref i, out obj);
Console.WriteLine(i);//输出5
Console.WriteLine(obj);//输出5
Console.ReadKey();
}
public void Fun(ref int i, out object obj)
{
i += 5;
obj = i.ToString();
Console.WriteLine(i);//输出5
Console.WriteLine(obj);//输出5
}
}
}
使用ref关键字:
//Example1
using System;
namespace Program
{
class Test
{
static void Main()
{
Test ts = new Test();
int i=0;//必须有初始化
int sum = ts.Fun(ref i, 10);
Console.WriteLine(i);//输出10
Console.WriteLine(sum);//输出20
Console.ReadKey();
}
public int Fun(ref int i, int j)
{
i = j;
return i + j;
}
}
}
使用out关键字同样也可以打到这种效果,示例代码如下:
//Example2
using System;
namespace Program
{
class Test
{
static void Main()
{
Test ts = new Test();
int i=0;//必须有初始化
object obj;//可以不用初始化
ts.Fun(ref i, out obj);
Console.WriteLine(i);//输出5
Console.WriteLine(obj);//输出5
Console.ReadKey();
}
public void Fun(ref int i, out object obj)
{
i += 5;
obj = i.ToString();
Console.WriteLine(i);//输出5
Console.WriteLine(obj);//输出5
}
}
}
相关文章推荐
- (原创)c#学习笔记06--函数01--定义和使用函数01--返回值
- (原创)c#学习笔记06--函数02--变量的作用域02--参数和返回值与全局数据
- javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- 【C#学习笔记】函数重载
- python 学习笔记 ---返回值为函数 闭包
- [C#学习笔记之多线程1]使用ParameterizedThreadStart委托向线程函数传送参数
- C#学习笔记---函数 的理解及总结(入门级)
- Python学习笔记(10)-函数-函数定义、调用、参数、返回值、嵌
- (原创)c#学习笔记06--函数01--定义和使用函数02--参数
- 编译原理之学习 lua 1.1 笔记 (四) 多变量赋值和函数多返回值
- (原创)c#学习笔记06--函数04--结构函数
- C#学习之路,学习笔记 第六章 函数
- Python学习笔记(10)-函数-函数定义、调用、参数、返回值、嵌
- python学习笔记10(函数一): 函数使用、调用、返回值
- 学习笔记:c#函数名可以直接赋值给委托
- c#学习笔记之十五 目前多线程执行函数的思路
- C#2005 .NET3.0高级编程学习笔记————类的函数成员(构造函数,只读字段)
- C#学习笔记(三) 函数
- PHP学习笔记——自定义函数中的返回值(return);