C#参数传递之值参数
来源:互联网 发布:app下载数据统计 编辑:程序博客网 时间:2024/05/20 23:40
C#参数传递有四种:值参数,引用参数,输出参数和数组参数。这里首先介绍一下值参数。值参数在处理时不需要任何修饰符,但参数类型有可能有两种:一种是值类型,另一种是引用类型。
(1)当用值参数向方法传递参数时,程序给实参在栈中存储的内容做一份拷贝,并且将此拷贝传递给该方法,被调用的方法不会修饰实参的值,所以使用值参数时,可以保证实参的修士是安全的。
(2)如果参数的类型是引用类型(例如,类),则拷贝中存储的也是对象的引用,因此此时拷贝和实参指向的是堆中的同一个对象,通过这个拷贝,可以修改实参所引用的对象中的数据成员。如下面的例子。
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Student { public string Name { get; set; } public double Score { get; set; } public Student(string name, double score) { Name = name; Score = score; } } class SimpleMath { public void swap(Student stu1, Student stu2) { double temp = stu1.Score; stu1.Score = stu2.Score; stu2.Score = temp; } } class Program { static void Main(string[] args) { Student stu11 = new Student("zxf", 98.5); Student stu22 = new Student("zhang", 84.5); Console.WriteLine("{0},{1}",stu11.Score,stu22.Score); SimpleMath smp = new SimpleMath(); smp.swap(stu11, stu22); Console.WriteLine("{0},{1}", stu11.Score, stu22.Score); Console.ReadLine(); } }}
上述例子中,参数是Student这个类,因此是引用类型,通过SimpleMath的swap函数,将stu11和stu22中的score字段进行了交换。
0 0
- C#参数传递之值参数
- c#参数传递之引用参数
- c#参数传递之输出参数
- C#参数的传递:值传递、引用传递、输出参数
- C#方法参数传递-值传递
- c# 多线程传递参数之解决方案
- C#之委托(函数参数传递)
- C#形参,实参,值传递参数,引用传递参数,输出参数,参数数组的学习
- C#中的参数传递
- C#中的参数传递
- C#中的参数传递
- C#的参数传递
- C#多线程参数传递
- C#多线程参数传递
- C#多线程参数传递
- c#参数传递
- c# 参数传递类型
- C# 参数传递
- 关于对快速幂超时问题的优化
- POJ 3691 DNA repair (AC自动机+dp)
- 如何向小白介绍何谓机器学习和数据挖掘?
- 动态数组求n个数的和还有平均数 --- 蓝桥杯
- 关于ROS下的Dynamic Reconfig的学习探索
- C#参数传递之值参数
- SqlServer Bug:扩展存储过程一直运行出现等待类型PREEMPTIVE_OS_GETPROCADDRESS
- win32练习-判断系统类型
- 蓝桥杯--高斯日记
- TOP-N分析
- HTTP响应代码汇总
- win32练习 - CreateThreadpoolWait()
- 操作系统内核的引导
- 关于DM8168平台扩展PCIE网卡的问题