一周学会C#(函数三)

原创 2004年01月09日 10:03:00

一周学会C#(函数三)

C#才鸟(QQ:249178521)

8.ref/out重载<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

·                    ref / out 在大部分情况下是标识的一部分!

w       你可以重载一个ref型参数和一个普通参数

w       你可以重载一个out型参数和一个普通参数

w       你不可以重载一个ref型参数和一个out型参数

sealed class Overloading

{

    void Allowed(    int parameter)

    { ... }

    void Allowed(ref int parameter)

    { ... }

   //正确,重载一个ref型参数和一个普通参数

 

    void AlsoAllowed(    int parameter)

    { ... }

    void AlsoAllowed(out int parameter)

{ ... }

//正确,重载一个out型参数和一个普通参数

 

    void NotAllowed(ref int parameter)

    { ... }

    void NotAllowed(out int parameter)

{ ... }

//错误,不能重载一个ref型参数和一个out型参数

}

refout修饰符可以是一个函数的标识。但是你不能同时重载refout型参数。refout修饰符在某种意义上是“安全的“,因为只有ref型实参才能传递给ref型函数参数,只有out型实参才能传递给out型函数参数。但是,当调用函数的时候,你会非常容易忘记refout修饰符,所以最好不要重载refout型参数。例如:

              sealed class Overloading

       {

           public static void Example(int parameter)

           { ... }

           public static void Example(ref int parameter)

           { ... }

           static void <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Main()

           {

              int argument = 42;

              Example(argument);//在这儿非常容易忘记ref修饰符

           }

       }

9.访问规则

l         函数参数或返回值不能比所属函数的访问级别低

sealed class T { ... } //类的默认访问级别是internal

public sealed class Bad

{

    public void Parameter(T t)  //错误,函数的访问级别(public)比参数高

    { ... }

    public T Return()             //错误,函数的访问级别(public)比返回值高

    { ... }

}

public sealed class Good

{

    private void Parameter(T t)  //正确,函数的访问级别(private)比参数低

    { ... }

    private T Return()            //正确,函数的访问级别(private)比返回值低

 

    { ... }

}

10.找错误

sealed class Buggy

{

    void Defaulted(double d = 0.0)             1

    { ...

    }

    void ReadOnly(const ref Wibble w)         2

    { ...

    }

    ref int ReturnType()                        3

    { ...

    }

    ref int fieldModifier;                     4

}

1个函数的错误是:C#中函数不能拥有缺省参数。

2个函数的错误是:ref型参数不能用const修饰,因为ref型参数是可能变化的。

3,4个函数的错误是:refout型参数只能用于函数参数和实参。

C#中可以通过函数重载的办法实现缺省参数的功能,以下是实现的方法:

              sealed class Overload

       {

              void DefaultArgument() { DefaultArgument(0.0); }

              void DefaultArgument(double d) { ... }

       }

一周学会C#

5.布尔型操作符1.赋值  =  2.等于  ==  != 3.逻辑  ! && ||  ^ & | INT TENS  = (9 * 6) / 13; INT UNITS = (9 * 6) % 1...
  • simonamen
  • simonamen
  • 2009年09月15日 10:00
  • 119

一周学会Linux实战

为什么学习Linux? 1、Linux的性能卓越。 Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用Linux。很多软...
  • ahuang1900
  • ahuang1900
  • 2014年07月26日 01:39
  • 592

div+css学习笔记(十天学会div+css)

1.CSS伪类可以改变链接的样式 2.在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后,这样才能生效! 在 CSS 定义中,a:active 必须位于 a:...
  • u011445367
  • u011445367
  • 2015年03月31日 20:18
  • 450

一周学会C#(属性三)

一周学会C#(属性三)C#才鸟(QQ:249178521)8.    静态属性l      静态属性是和类联系在一起的 Ø       只能通过类名使用sealed class Error {    ...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:12
  • 883

一周学会C#(语句三)

一周学会C#(语句三)C#才鸟(QQ:249178521)9.for语句·       for 语句 w       for块中声明的变量是局部的,只在for块中有效w       可以省略for语句...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:11
  • 529

一周学会C#(类三)

一周学会C#(类三)C#才鸟(QQ:249178521)8.常量字段·        常量字段... w       隐含为static w       必须在声明时初始化w       必须被初始化...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:16
  • 737

一周学会C#(结构三)

一周学会C#(结构一)C#才鸟(QQ:249178521)10.常量字段·        常量字段... w       隐含为static w       必须在声明时初始化w       必须被初...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:12
  • 759

在一周内学会使用 AUTO CAD

学习目的: 1、使用AUTO CAD绘制电路板外框、元器件封装; 2、借助软件使用,对产品结构有更深入的体会。 学习过程: 1、由于本人急需在短时间内具备简单的二维绘图能力,故没有借鉴、对比网...
  • CYP_2015
  • CYP_2015
  • 2017年05月05日 13:57
  • 207

一周学会C#(值的类型三)

一周学会C#(值的类型三)C#才鸟(QQ:249178521)7.整数转换·       隐式转换,从小到大的转换w       不会丢失精度,不会抛出错误·       显式转换,从大到小的转换(强...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:10
  • 527

零基础一周学会PIC单片机视频教程

  视频下载地址:http://www.verycd.com/topics/2803313/       本视频教程由王伟民老师主讲,王老师曾在05年参加国内电子设计业权威杂志《电子设计技术China...
  • eaststream
  • eaststream
  • 2010年02月27日 12:52
  • 919
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一周学会C#(函数三)
举报原因:
原因补充:

(最多只允许输入30个字)