---------------------- Windows Phone 7手机开发、.Net培训、 期待与您交流!----------------------
---------------------- Windows Phone 7手机开发、.Net培训、 期待与您交流!----------------------
常量部分笔记
本地常量很像本地变量,但是一旦它被初始化,它的值就不能被改变。和本地变量一样,本地常量必须声明在块的内部。
常量的两个最重要的特征如下:
-
常量在声明中必须初始化
-
常量在声明后不能改变
常量的声明:
-
在类型名前加const关键字
-
必须有初始化语句。初始化必须在编译器决定,通常是一个预定义简单类型或者其组成的表达式。它也可以是null引用,但不能是某对象的引用,因为对象的引用是在运行时决定的
const Type Identifier=value;
说明:关键字const不是一个修饰符,而是核心声明的一部分。它必须直接放在类型的前面。
1.形参,形参是声明在方法的参数列表中而不是方法体中的本地变量。
2.和本地变量不同在于:形参在方法体的外面定义并在方法开始之前初始化,但除了output参数。
值参数-值传递
参数分几种,各自以不同的方式从方法传入或传出数据。
值参数,通过复制实参的值到形参的方式把数据传递给方法。
方法被调用时候,系统做如下操作。
-
在栈中为形参分配空间(形参其实是中特殊的本地变量,而本地变量是在栈中存储的)
-
复制实参到形参(其实就是相当于:形参=实参),实参可以是表达式。
所以:假如一个形参是引用类型的话,那么是把实参那个引用类型的引用复制给形参,所以值参数传递时,引用类型的参数实参形参指向同一个实际数据。而如果是值类型的话,实参形参指向不同的内存地址。
说明:不要混淆值参数和值类型:所谓值类型是值类型本身包含其值,而不是包含一个指向其值的引用。值参数是实参值复制给形参参数。
值参数传递调用示意图如下:
引用参数
第二种参数类型叫做引用参数。
-
使用引用参数时,必须类方法的声明和调用时,在参数名前使用ref修饰符。
-
实参必须是变量,在用作实参前必须被赋值。如果使用引用类型,可以赋值为null或者一个引用。
-
实参不能是表达式,因为ref
说白了,引用参数就是实参和形参根本就是指向同一个内存地方。所以,一改皆改。
输出参数output参数
输出参数用于把方法体内的数据传出到调用代码,它非常类似于ref参数。
-
必须在声明和调用时,使用out修饰符
-
和ref参数类似,实参必须是变量而不能是表达式,因为方法需要内存位置保存返回值。
和引用参数一样,输出参数的形参担当实参的别名。方法内对形参的任何改变在方法执行完成好通过实参变量都是可见的。
参数数组
前三种参数都必须严格的一个实参对应一个形参。
而参数数组允许0个或多个实参对应一个特殊的形参。
-
在一个参数列表中只用有一个参数数组并且放在列表最后
-
声明时在数据类型前使用params修饰符,但是调用时不需要
-
在数据类型后放置一组空的方括号
说明:方法签名不包括返回值和形参的名字。