当前位置:首页 > c#定义
{
public static readonly color black = new color(0, 0, 0);
public static readonly color white = new color(255, 255, 255);
public static readonly color red = new color(255, 0, 0);
public static readonly color green = new color(0, 255, 0);
public static readonly color blue = new color(0, 0, 255);
private byte r, g, b;
public color(byte r, byte g, byte b) {
this.r = r;
this.g = g;
this.b = b; } }
如前面的示例所示,通过readonly修饰符声明只读字段。给readonly字段的赋值只能作为声明的组成部分出现,或者在同一类中的实例构造函数或静态构造函数中出现。
1.6.5 方法 方法(method)是一种用于实现可以由对象或类执行的计算或操作的成员。静态方法(static method)只能通过类来访问。实例方法(instance method)则要通过类的实例访问。
方法有一个参数(parameter)列表(可能为空),表示传递给方法的值或者引用;方法还有返回类型(return type),用于指定由该方法计算和返回的值的类型。如果方法不返回一个值,则它的返回类型为void。
在声明方法的类中,该方法的签名必须是惟一的。方法的签名由它的名称、参数的数目、每个参数的修饰符和类型组成。返回类型不是方法签名的组成部分。
1.6.5.1 参数
参数用于将值或者引用变量传递给方法。当方法被调用时,方法的参数译注5从指定的自变量(argument)译注6得到它们实际的值。c#有4种参数:值参数、引用参数、输出参数和参数数组。
值参数(value parameter)用于输入参数的传递。值参数相当于一个局部变量,它的初始值是从为该参数所传递的自变量获得的。对值参数的修改不会影响所传递的自变量。
引用参数(reference parameter)用于输入和输出参数的传递。用于引用参数的自变量必须是一个变量,并且在方法执行期间,引用参数和作为自变量的变量所表示的是同一个存储位置。引用参数用ref修饰符声明。下面的示例展示了ref参数的使用:
using system;
class test {
static void swap(ref int x, ref int y) {
int temp = x; x = y;
y = temp; }
static void main() {
int i = 1, j = 2;
swap(ref i, ref j);
console.writeline(\输出 \ } }
输出参数(output parameter)用于输出参数的传递。输出参数类似于引用参数,不同之处在于调用方提供的自变量初始值无关紧要。输出参数用out修饰符声明。下面的示例展示了out参数的使用:
using system;
class test {
static void divide(int x, int y, out int result, out int remainder) {
result = x / y;
remainder = x % y; }
static void main() {
int res, rem;
divide(10, 3, out res, out rem);
console.writeline(\输出 \ } }
参数数组(parameter array)允许将可变长度的自变量列表传递给方法。参数数组用params修饰符声明。只有方法的最后一个参数能够被声明为参数数组,而且它必须是一维数组类型。system.console类的write和writeline方法是参数数组应用的很好的例子。它们的声明形式如下:
public class console {
public static void write(string fmt, params object[] args) {...}
public static void writeline(string fmt, params object[] args) {...} ... }
在方法中使用参数数组时,参数数组表现得就像常规的数组类型参数一样。然而,带数组参数的方法调用中,既可以传递参数数组类型的单个自变量,也可以传递参数数组的元素类型的若干自变量。对于后者的情形,数组实例将自动被创建,并且通过给定的自变量初始化。示例:
console.writeline(\
等价于下面的语句:
object[] args = new object[3];
args[0] = x;
args[1] = y;
args[2] = z;
console.writeline(\
1.6.5.2 方法体和局部变量
方法体指定方法调用时所要执行的语句。
方法体能够声明特定于该方法调用的变量。这样的变量被称为局部变量(local variable)。局部变量声明指定类型名、变量名,可能还有初始值。下面的示例声明了一个局部变量i,其初始值为0;另一个局部变量j没有初始值。
using system;
class squares {
共分享92篇相关文档