Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103592820
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 19:19:33

     来源:赛迪网开发者论坛    作者:AK Sung

1.参数

C#的方法和C++中的函数在返回值,参数传递方面是一样的,唯一的区别是引用的传递。

也许你想起来上面所讲,C#中取消了&操作符,这意味着没有了引用传递了,其实不是没有,而是不用&,改成了ref,例:


class Class1
{
static void Main(string[] args)
{
int a=1,b=2;
Console.WriteLine ("{0} {1}",a,b);
change(ref a,ref b) ;
Console.WriteLine ("{0} {1}",a,b);
}
static void change(ref int a,ref int b)
{   
int c;
c=a;
a=b;
b=c;
}
}

输出结果:

1         2

2         1

在形参和实参中加上ref就完成了引用,这样对a,b的值进行了交换。

2.方法重载

C#的函数重载和C++一样没有区别。

3.结构函数

上面我用了方法,这里是函数,所以它首先不需要关键字static,这个函数是一个结构的函数,它在类的外部,所以不需要static。例:

struct mytext
{
public int num;
public int text()
{
return num;
}
}
class Class1
{
static void Main(string[] args)
{
mytext frist;
int a;
frist.num =5;
a=frist.text ();
Console.WriteLine ("{0}",a);
}
}

输出结果: 5

阅读(250) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~