软件编程
位置:首页>> 软件编程>> C#编程>> 浅析C# 函数的传值与传址

浅析C# 函数的传值与传址

作者:野性狼心  发布时间:2023-11-22 04:46:57 

标签:c#,函数,传值,传址

      传值就是将实参的值传到所调用的函数里面,实参的值并没有发生变化,默认传值的有int型,浮点型,bool型,char字符型,结构体等等。

      传址就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string。

      上面说的就牵扯到数据的分类,分为值类型和引用类型,值类型的就是传值的那种,引用类型包括字符串类型,数组和对象,字符串类型特殊,主要是因为字符串实际上是一个字符char[]数组,它在修改的时候并不是直接修改,而是新开辟了一个存储空间也就是建立了一个新的字符串,所以它在调用、赋值的using System;


using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace _1019传值传址
{
 class Program
 {
   //一、传值-将变量的值传入函数中
   public void Qiuhe(int a)
   {
     int b = a + 10;
     Console.WriteLine(b);
   }////写个函数,传值进去,传姓名、性别、年龄进去//将年龄+10岁,
   //return反馈回来 split分割
   public string Fanhui(string name, string sex, int age)
   {
     age += 10;
     return name + "-" + sex + "-" + age;
   }

//三、out传址-仅仅将变量名带入函数,不考虑参数值,out自动默认return
   public void Fanhui1(int a,out int b)
   {
     b = a + 10;
   }

static void Main(string[] args)
   {
     //调用函数之前需要先初始化、实例化该Class类
     Program Hanshu = new Program();

//一、传值-将变量的值传入函数中
     int a = 5;
     int b = 10;
     Hanshu.Qiuhe(a);
     Console.WriteLine(b);
     //最后输出b结果为10,为什么不是5+10=15?
     //因为外部定义的int b 与内部定义的int b 不是同一个b ,仅仅是用了同一个字母来表示而已      //二、一个函数只能返回一个值,将函数返回的值用split进行分割后放入一维数据获取多个值
     string ss = Hanshu.Fanhui("张三", "男", 33);
     string[] xx = ss.Split('-');
     for (int i = 0; i < 3; i++)
     {
       Console.WriteLine(xx[i]);
     }//三、out传址
     int aa = 5;
     int bb = 10;
     Hanshu.Fanhui1(aa, out bb);
     Console.WriteLine(bb);
     //传址:将这个变量名直接传输过去,若在另一边有赋值情况,这个变量名将变化      Console.ReadLine();
   }
 }
}

浅析C# 函数的传值与传址

浅析C# 函数的传值与传址

浅析C# 函数的传值与传址

来源:https://www.cnblogs.com/qq450867541/p/5977689.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com