out传值

class Program
{
public void jia(int a, int b)
{
a = a + b;
Console.WriteLine(a);
}

}

static void Main(string[] args)
{
Console.Write("请输入a=");
int a = int.Parse(Console.ReadLine());
Console.Write("请输入b=");
int b = int.Parse(Console.ReadLine());
Program hanshu = new Program();

// hanshu.jia(a,b);
//形参 传值
//只是将值给它,并不是把变量名(箱子)也给它

Console.WriteLine(a);//这个a跟函数里的a是不一样的
Console.ReadLine();

}

class Program
{

public void jia1(int a,out int b)
{
b = a + 5;
}

}

static void Main(string[] args)
{
Console.Write("请输入a=");
int a = int.Parse(Console.ReadLine());
Console.Write("请输入b=");
int b = int.Parse(Console.ReadLine());
Program hanshu = new Program();
hanshu.jia1(a,out b);
Console.WriteLine(b);
//out传值时,仅仅是将变量名称(箱子)传给函数
//在进行完成循环体之后,将这个变量以及里面的值一起拿出来

//实参 传址
//将变量名(箱子)给它

Console.ReadLine();

}

列题:

class Program
      {
         public void  hou()
          {
              int sum = 0;
              for (int i = 10; i > 0; i--)
              {
                 if (i == 10)
                  {
                      sum = 1;
                  }
                  else
                  {
                     sum = (sum + 1) * 2;
                  }
              }
              Console.Write(sum);
          }

          public int jiafen(int  a)
          {
              a+= 10;
              return a;
          }

          public void jiafen2(int[] a)
          {
              int l= a.Length;
              for (int i = 0; i < l; i++)
             {
                  a[i] += 10;
              }
          }

          public int [] jiafen4(int[] a)
          {
              int l = a.Length;
              for (int i = 0; i < l; i++)
              {
                  a[i] += 10;
              }
              return a;
          }

          public void  jiafen3(int[] a, out int[] b)
          {
              int l = a.Length;
              for (int i = 0; i < l; i++)
              {
                  a  [i] = a[i] + 10;
              }
              b = a;
          }

          static void Main(string[] args)
          {
              //out 传值    形式参数:只给值,不给变量名(传值)    实际参数:将变量名传给函数(传址)
              //out是实参

              Program hanshu=new Program();
              //猴子
              //hanshu.hou();
              //Console.ReadLine();

              //输入班级人数,根据人数输入每个人的成绩
             //本班都是少数民族学生,每个人+10分
              //写一个专门+10分的函数,参数是这个分数的数组
              Console.WriteLine("请输入班级的人数");
              int renshu = int.Parse(Console.ReadLine());
              int[] fen = new int[renshu];
              for (int i = 0; i < renshu ;i++ )
             {
                  Console.WriteLine("请输入第{0}名同学的成绩",(i+1));
                  fen[i] = int.Parse(Console.ReadLine());
              }
              //for(int i=0;i <renshu ;i++)
              //{
              //    fen[i ]= hanshu.jiafen(fen[i]);
              //}

              //hanshu.jiafen2(fen );
              //hanshu.jiafen3(fen,out chengji);

              int []chengji=new int [renshu ];
              hanshu.jiafen3(fen,out chengji );
              foreach(int aa in chengji  )
              {
                  Console.WriteLine(aa );
              }
             foreach (int aa in fen )
              {
                 Console.WriteLine(aa);
             }
             Console.ReadLine();

        }
     }
 }
时间: 2024-12-20 20:03:19

out传值的相关文章

JS 传值 传址

在JS中,有两种不同的方式可以操作数据的值,这两种技术分别叫做 传值 和 传址. 传值:在赋值过程中,首先对值进行了一份拷贝,而后将这份拷贝存储到一个变量.对象属性或数组元素中.拷贝的值和原始的值是完全独立.互不影响的.当一份数据通过值传递给一个函数,实际上被传递的不是数据本身,而是数据的一份拷贝.因此,如果函数修改了这个值,影响到的只是数据的那份拷贝,而并不影响数据本身. 传址:在赋值过程中,变量实际上存储的是数据的地址(对数据的引用),而不是原始数据或者是数据的拷贝.如果值通过一个地址发生了

Swift代理和传值

第一个视图控制器: import UIKit // 遵循协议 class ViewController: UIViewController,SecondVCDelegate { override func viewDidLoad() { super.viewDidLoad() // 创建一个button let button1 = UIButton(frame: CGRectMake(120, 120, 50, 50)) // 修改背景颜色 button1.backgroundColor = U

iOS pop使用通知传值

iOS pop回父级页面,使用通知传值 输入所要发送的信息 ,同时将label的值通过button方法调用传递, - (IBAction)buttonClick:(id)sender { //添加 字典,将label的值通过key值设置传递 NSDictionary *dict =[[NSDictionary alloc]initWithObjectsAndKeys:self.textFieldOne.text,@"textOne",self.textFieldTwo.text,@&q

iOS之页面传值

页面之间的传值方式 设有firstView和secondView两个视图 属性传值(适用于页面之间的正向传值) 1.在要显示信息的页面,创建属性 2.在要传值的页面,设置属性值 3.在显示信息的页面的ViewdidLoad方法中,接收属性值 代理传值(适用于页面之间的反向传值) 1.创建协议及协议方法,在反向传值的页面(secondVC)中 2.创建协议类型的属性,   在secondVC中创建属性 3.调用属性  即delegate,在secondVC页面中的对象传值的方法中调用[self.d

iOS中多视图的传值 属性传值和代理传值

首先创建两个类 ,FirstViewController和SecondViewController,都继承于UIViewController 1 #import "AppDelegate.h" 2 #import "FirstViewController.h" 3 4 @interface AppDelegate () 5 6 @end 7 8 @implementation AppDelegate 9 10 11 - (BOOL)application:(UIAp

JQuery ajax 在aspx中传值和取值

传值:ajax中的data(json)  js代码: <script type="text/javascript"> $(function () { $("#btnAddNews").bind("click", function () { var _name= $.trim($("#txtNewTitle").val()); $.ajax({ type: "POST", url: "A

webform之session传值(临时数据的存储)与扩展属性 --(购物车练习)

页面传值:1.QueryString传值在源页面写:Response.Redirect("Main.aspx?uid="+uid+"&pwd="+pwd);在目标页面:Request["uid"].ToString();2.Session *****特点:可以存任何东西,每个用户都会生成一个特定的Session,Session是存储在服务中的,一般默认存储20分钟,20分钟之后过期用法:在登录页面:Session["uid&qu

ios-私人通讯录 页面间的跳转和传值

这个demo 有多个页面 并涉及顺传和逆传 而且还有一个第三方库的导入 来实现自定义提示消息的特效 利用代理来实现页面间的传值 一个页面代表一个controller 这次  ViewController  反而一句代码都没写 // // HMContact.h // 私人通讯录 // // Created by YaguangZhu on 15/9/6. // Copyright (c) 2015年 YaguangZhu. All rights reserved. // #import <Fou

[iOS]视图间传值/传参的若干方式

单例模式 属性 代理 通知 单例模式 某个类只产生一个对象,且是一个全局对象,以后每次创建该类对象时,只会得到第一次创建的那个类对象. 所以,可以用于在多视图场景下传递参数,原理如下图所示. 在创建单例类的时候,需要注意: 首先必须创建一个全局实例,通常存放在一个全局变量中,此全局变量设置为nil 需要重写+allocWithZone:方法,防止通过标准的alloc方式创建新的实例 需要重写-copyWithZone方法,防止通过copy方法得到新的实例 需要重写-mutableCopyWith

web基础知识(一)关于ajax传值最基础东西

HTTP方法之 GET对比POST GET:从指定的资源请求数据, POST:向指定的资源提交要被处理的数据 GET方法: 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回