使用 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. windows 10安装framework 3.5失败的解决方案

    装了两次win 10,全都因为没法安装framework 3.5,用不了老版本的开发环境,又换回了win7. 网上有两种解决方案: a,通过iso安装. 可是拜托,我的系统都是用ghost版本安装的, ...

  2. css animation让图标不断旋转

    @keyframes rotating{from{transform:rotate(0)}to{transform:rotate(360deg)}} animation:rotating 1.2s l ...

  3. c3p0操作MySQL数据库

    使用c3p0连接MySQL数据库并对MySQL数据库进行基本操作.     1. [文件] 数据库准备 ~ 226B     下载(64) ? 1 2 3 4 5 6 7 8 9 10 ##创建数据库 ...

  4. DBN(深度信念网络)

    DBN运用CD算法逐层进行训练,得到每一层的参数Wi和ci用于初始化DBN,之后再用监督学习算法对参数进行微调.本例中采用softmax分类器(下一篇随笔中)作为监督学习算法. RBM与上一篇随笔中一 ...

  5. H2 database 行相加-行列转换

    create or replace view view_acceptCompanyasselect *  from  (select WARNIGID,max(CASEWHEN(zhtablename ...

  6. wikioi 2235 机票打折 【考查浮点数四舍五入的技巧】

    /*======================================================================== 2235 机票打折 题目描述 Descriptio ...

  7. struts2.0的工作原理

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理 ...

  8. mysql edit

    表外键5个相关性: cascade,restrict,set null,no action,default   show character set ;   show collation like ' ...

  9. (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)

    http://blog.csdn.net/wirelessqa/article/details/8997168 http://code.google.com/p/android-apktool/dow ...

  10. jQuery点击图片弹出放大可拖动图片查看

    CSS代码: .popup-bigic { position: absolute; ; ; background: #eee; overflow: hidden; ; } .popup-bigic . ...