使用 out传值的时候仅仅是将变量名(箱子)拿过来,并不会管之前是什么值
函数体结束之前必须对该out的参数进行赋值,否则报错(不好意思还回去)
out传值,可以进行多个值的传回
public void Jia(int b,out int c)
{
c = b + 10;
}

Console.Write("请输入a=");
int a = int.Parse(Console.ReadLine());
int c = 4;
Program hanshu = new Program();
hanshu.Jia(a,out c);
Console.WriteLine(c);
Console.ReadLine();

//使用return如何返回多个值
public string fanhui()
{
return 1 + "-" + 2 + "-" + 5;
}

Program hanshu = new Program();

string[] array = hanshu.fanhui().Split('-');
int [] arr = new int[array.Length];
for (int i = 0; i < array.Length; i++)
 arr[i] = int.Parse( array[i]);
}

函数练习:

{
1.求羊
每过一个村庄,卖掉之前总数的二分之一零一只
过了7个村庄之后还有两只
最初有多少只羊

//无参有返
public int assd()
{
int sum = ;
for (int i = ; i < ;i++ )
{
if (i == )
{
sum = ;
}
else
{
sum = * (sum + );
} }
return sum; }
static void Main(string[] args)
{
Program hanshu = new Program();
int s = hanshu.assd();
Console.WriteLine(s);
Console.ReadLine();

2.掷骰子,投几走几步,逢3进1,逢5退1,逢7进2,逢0退4,求投几次后一共走了多少步?

//有参有返
public int bu(int s)
{
int bu = ;
Random ran = new Random();
for (int i = ; i < s; i++)
{
int a = ran.Next(, );
bu += a;
if (bu % == )
{
bu += ;
}
else if (bu % == )
{
bu -= ;
}
else if (bu % == )
{
bu += ;
}
else if (bu % == )
{
bu -= ;
}
else
{
continue;
}
}
return bu;
}
static void Main(string[] args)
{
Program hanshu = new Program();
Console.Write("输入您投的次数:");
int x = hanshu.bu(int.Parse(Console.ReadLine()));
Console.WriteLine(x);
Console.ReadLine();

3.在一个箱子里有16个红球(编号1-16),3个蓝球(编号17-19),1个黄球(编号20),
随机抽取一个,抽中蓝球加4分,抽中黄球加7分,每抽中红球5次减2分,
抽几次后能达到100分

//无参有返
public string d()
{
Random ran = new Random();
int fen = ;
int i = ;
int c = ;
for (; ; )
{
int s = ran.Next(, );
if (s < )
{
c++;
if (c == )
{
fen -= ;
c = ;
}
}
else if (s < )
{
fen += ;
}
else
{
fen += ;
}
i++;
if (fen >= )
{
break;
}
}
return "需要" + i + "次,才能达到100分";
}
static void Main(string[] args)
{
Program hanshu = new Program();
string s = hanshu.d();
Console.WriteLine(s);
Console.ReadLine();

c# 函数及out传值的更多相关文章

  1. JavaScript 函数参数是传值(byVal)还是传址(byRef)?

    对于“JavaScript 函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Number, String, Object ...

  2. js中 函数参数的 传值/传引用 问题

    如果  传入function的参数是  (数值.字符串.布尔值) 此时是以 传值 的方式 进行. 如果  传入function的参数是  (数组.对象.其他函数) 此时是以 传引用 的方式 进行. 1

  3. Asp:函数是用传值还是传址

    传址会把变量的内存地址传递到sub里,在sub里对变量所做的修改就是对原来的变量进行修改,而传值只是把变量的值传递到sub里,此时在sub里修改变量的值不会影响原来的变量. 在vb中调用函数默认是传址 ...

  4. php总结6——自定义函数、引用传值

    6.1 自定义函数 function 函数名称(参数[=默认值],参数[=默认值]...){ 函数体 [return val]; } 1) 无参数无返回 2) 有参数无返回 3) 有参数有返回 函数中 ...

  5. C/C++ 函数参数传递:传值,传指针,传引用

    前面我们介绍了函数的调用约定,明白了函数调用者与被调用者之间传递参数的顺序与如何进行栈恢复的. 实际上,函数调用者如何将参数传递给被调用者也是有讲究的. 总的来说,函数参数传递分为3种情况:传值,传指 ...

  6. Vue生命周期 钩子函数和组件传值

    Vue生命周期 钩子函数 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等. 同时在这个过程中也会运行一 ...

  7. C语言中不同函数之间怎么传值?

    #include <stdio.h> int change(); int change(int j) { j=; return(j); } void main() { int b = ch ...

  8. 用var 变量=函数名 方式调用函数时如何传值的问题

    通过:xmlhttp.onreadystatechange= function(){FuncName(param)};orxmlhttp.onreadystatechange= new Functio ...

  9. useContext 解决函数父子组件传值

    1在父组件外部定义变量A创建上下文,2在父组件使用变量A<A.Provider> <子组件/> </A.Provider> ,3.在子组件中创建变量使用useCon ...

随机推荐

  1. I’m stuck!(BFS)

    I’m stuck! 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能 ...

  2. mac下使用Solarized配色方案

    Solarized配色方案不用多介绍了.具体点击这里:http://ethanschoonover.com/solarized 我们首先搞定macvim 你需要下载solarized.vim配色文件, ...

  3. [POI 2008][BZOJ 1132]Tro

    这题我真是无能为力了 这题的做法还是挺简单的 枚举左下角的点做为原点,把其余点按极角排序    PS.是作为原点,如枚举到 k 时,对于所有 p[i] (包括p[k]) p[i]-=p[k] (此处为 ...

  4. Git图文教程:从零到上传GitHub项目

    一:安装Git 从Git官网下载.安装客户端 二:本地建立代码仓库 在开始菜单中找到 Git Bash 并打开 配置身份 git config --global user.name "pen ...

  5. 怎么给OCR文字识别软件重编文档页面号码

    ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...

  6. 如何将maven项目导入myeclipse中

    在mvn的项目中 pom.xml 文件所在目录, 运行 mvn eclipse:clean eclipse:eclipse ,会自动将mvn工程转成eclipse工程, 然后在eclipse中 &qu ...

  7. mov视频转gif

    在mac上用quicktime录屏,得到一个mov视频,想转成gif,试了几个工具,感觉下面这个最好用: http://ezgif.com/video-to-gif 支持重新指定尺寸和帧率,转完gif ...

  8. 前端优化:DNS预解析提升页面速度

    在网页体验中我们常会遇到这种情况,即在调用百度联盟.谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况.那么有没有方法去解决这种请求严重延时的现象呢? 一般来说这种延时的原因不会是 ...

  9. 【转】vs2012 打包安装更改 setup.exe的图标

    还是老外的文章给力 I'm not aware of any way to change the icon BEFORE building the project so that once the C ...

  10. SwiftyJSON 中文介绍

    SwiftyJSON makes it easy to deal with JSON data in Swift. Why is the typical JSON handling in Swift ...