163K网站系统官方论坛's Archiver

jazz 发表于 2007-2-16 18:20

.net教程:c#重点知识详解(一)

[size=3]在微软的.net推出后,关于c#的有关文章也相继出现,作为微软的重要的与java抗衡的语言,c#具有很多优点。本文将选一些c#语言中的重要知识详细介绍,

第一章:参数

1。1 in 参数

c#种的四种参数形式:
一般参数
in参数
out参数
参数数列
本章将介绍后三种的使用。

在c语言你可以通传递地址(即实参)或是delphi语言中通过var指示符传递地址参数来进行数据排序等操作,在c#语言中,是如何做的呢?"in"关键字可以帮助你。这个关键字可以通过参数传递你想返回的值。
namespace testrefp
{
using system;
public class myclass
{

public static void reftest(ref int ival1 )
{
ival1 += 2;

}
public static void main()
{
int i=3; //变量需要初始化

reftest(ref i );
console.writeline(i);

}
}
}

必须注意的是变量要须先初始化。

结果:

5



1。2 out 参数


你是否想一次返回多个值?在c++语言中这项任务基本上是不可能完成的任务。在c#中"out"关键字可以帮助你轻松完成。这个关键字可以通过参数一次返回多个值。
public class mathclass
{
public static int testout(out int ival1, out int ival2)
{
ival1 = 10;
ival2 = 20;
return 0;
}

public static void main()
{
int i, j; // 变量不需要初始化。
console.writeline(testout(out i, out j));
console.writeline(i);
console.writeline(j);
}
}

结果:

0 10 20

1。3 参数数列

参数数列能够使多个相关的参数被单个数列代表,换就话说,参数数列就是变量的长度。

using system;

class test
{
static void f(params int[] args) {
console.writeline("# 参数: {0}", args.length);
for (int i = 0; i < args.length; i++)
console.writeline("\targs[{0}] = {1}", i, args[i]);

}

static void main() {
f();
f(1);
f(1, 2);
f(1, 2, 3);
f(new int[] {1, 2, 3, 4});
}
}

以下为输出结果:

# 参数: 0
# 参数: 1
args[0] = 1
# 参数: 2
args[0] = 1
args[1] = 2
# 参数: 3
args[0] = 1
args[1] = 2
args[2] = 3
# 参数: 4
args[0] = 1
args[1] = 2
args[2] = 3
args[3]





[/size]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.