C#中值传递问题
2017-07-28 00:08
162 查看
1.传递后创建新区域,对原值不做任何改变
2.使用ref,不开辟新内存,改变原值
3.输出参数(可返回多个参数值)
using System; namespace CsTest { class Program { public void Swap(int num1,int num2) { int temp; temp = num1; num1 =num2; num2 = temp; } static void Main(string[] args) { int num1; int num2; Program Swap= new Program(); Console.WriteLine("输入NUM1:"); num1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("输入NUM2:"); num2 = Convert.ToInt32(Console.ReadLine()); Swap.Swap(num1,num2); Console.WriteLine("NUM1="+num1+"\nNUM2="+num2); } } }
2.使用ref,不开辟新内存,改变原值
using System; namespace CsTest { class Program { public void Swap(ref int num1,ref int num2) { int temp; temp = num1; num1 =num2; num2 = temp; } static void Main(string[] args) { int num1; int num2; Program Swap= new Program(); Console.WriteLine("输入NUM1:"); num1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("输入NUM2:"); num2 = Convert.ToInt32(Console.ReadLine()); Swap.Swap(ref num1,ref num2); Console.WriteLine("NUM1="+num1+"\nNUM2="+num2); } } }
3.输出参数(可返回多个参数值)
using System; namespace CsTest { class Program { public void getValue(out int num1,out int num2) { Console.WriteLine("输入NUM1:"); num1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("输入NUM2:"); num2 = Convert.ToInt32(Console.ReadLine()); } static void Main(string[] args) { int num1; int num2; Program Swap= new Program(); Swap.getValue(out num1,out num2); Console.WriteLine("NUM1="+num1+"\nNUM2="+num2); } } }
相关文章推荐
- 线程create时参数的传递问题(转载)
- c++指针作为函数参数传递的问题
- jquery ajax post传递xml中文转码问题
- SpringMvc参数传递中乱码问题的解决
- python函数的参数传递问题---传值还是传引用?
- c函数调用中指针传递问题
- Java开发WebServices传递pojo提示参数不匹配的问题
- 函数参数的传递问题(指针的指针)
- C#.NET常见问题(FAQ)-如何把函数名作为参数传递给另一个函数
- 问题 B: 情报传递
- js与jsp传递中文乱码问题
- php5 的 session 详解之四: session 跨页传递 问题的三条途径
- 解决jsp参数传递乱码时的问题
- C++函数参数中指针传递的问题
- vb.net 调用c++dll的 字符串传递问题
- spring mvc 如何从前台表单传递集合参数并绑定集合对象。 [问题点数:40分,结帖人NewMoons]
- get和post传递数据过程中的编码问题
- 问题:子信息不能够传递多个参数,利用脚本可以做到
- LeetCode129(以及JAVA函数变量传递问题)
- js传递url含有中文参数值乱码问题的解决