在.Net中存在两种类型,值类型(value type)和引用类型(reference type)
C#中参数传递方式:
值传递(默认形式)
引用传递(ref out)
ref传递 函数定义及调用都必须显式使用ref关键字
out传递 与ref类似,但区别是ref要求变量必须在传递之前进行初始化
使用out参数,函数定义及调用也必须显式用out
参数数组params 可以接收可变数目的实参
例如:
static void DisplayNum(params int[] num)
{
foreach (int x in num)
{
Console.Write (x+" ");
}
Console.WriteLine();
}
//调用,传入可变参数
int[] i = {10, 20, 30};
ShowNumbers(i);
ShowNumbers(100, 200);
Console.ReadLine();
补充知识点:
(1)值类型是分配在堆栈(栈 stack)上,变量直接保存其数据
(2)引用类型分配在堆(heap)上
(3)栈是一种先进后出,并且由系统自动操作的存储空间
(4)堆(在.NET上准确的说是托管堆 Managed Heap)是一种自由储存区(Free Memory),在该区域中,必须明确的为对象申请存储空间(在Java和C#中都是使用的new关键字),并可以在使用完后释放申请的存储空间
分享到:
相关推荐
c#参数传递 c#参数传递 c#参数传递 c#参数传递 c#参数传递 c#参数传递
c# 参数传递,参数调用,在运行处输入,程序路径+要传递的值,即可打开程序,在界面上显示值
关于C#窗体间的数据传值的方法好几种,在项目中都各有应用,虽然简单,这里记录下来,分享给大家!
JNI是java调用C++程序的一种实现方法,网上有一些相关的资料,但不一定能适用,这个文档我在学习JNI时综合网上资料总结的,本人亲测能够实现,希望下载的网友有什么问题多多反馈,希望对学习JNI的朋友有所帮助
c# 值参数 内存分析 图解,是理解C#值参数的本质所在
C#参数使用练习笔记(完全学习笔记)、源码、基础入门个人学习使用
C++ 与C#之间的指针参数传递,实现无限量数据的传递,轻松无压力,方便在C++里面获取或者从C#传递数据到C++的动态库调用内。
主要介绍了一道关于C#参数传递的面试题,实例分析了C#参数传递的相关使用技巧,需要的朋友可以参考下
MWNumericArray是MWArray和c#中数据的中间类,怎么用?怎样在C#与matlab间传递参数?
C#多线程总参数传递的例子。写的比较简单。VS2010开发环境。主要代码在“Program.cs”。
c# 调用C++编写 的DLL函数各种参数传递问题。数据处理问题等等。
C#中没有了像VB.Net中的全局变量,那么我们如何实现在不同的页面间传递参数呢? 下面举例说明如何实现这一功能. 1.新建一个项目. 2.在该工程中添加一个窗体Form1. 3.在该窗体中定义静态型字符串变量myTestStr1: ...
C# WinForm之间调用、窗口之间相互传递参数的例子
C#中两个窗体之间的参数传递,在一个窗体的文本框中输入数据,按确定后在另一个窗体中显示。
从一个控制台程序启动另一个控制台程序,并传入参数字符串作为目标控制台程序的参数,在目标程序中的main函数中用正则表达式解析该字符串。
C++ 调用 C# COM 参数是结构体数组 ...C++ 调用 C# COM 参数是结构体数组需要涉及到多种技术,如 COM 组件、Marshal 类、结构体数组的传递等。只有正确地使用这些技术,我们才能实现复杂的编程任务。
30道C#基础语法练习题,主要涉及数据类型、字符串、数组、数据类型转换、流程控制语句等问题。
C#中的参数传递 .doc
概括了c#中涉及到的函数/方法的参数传递方式。