一周学会C#(索引一)

原创 2004年01月12日 17:12:00

一周学会C#(索引一)

C#才鸟(QQ:249178521

1.[]

·       索引提供[ ] 类的语法

w       总是一个实例成员,可以是虚拟的

w       没有ref/out 参数

struct StringSection

{

    ...

    public char this [int at]

    {  

        ...

    }

    ...

}

StringSection cord("csharp", 2, 6);

...

char first = cord[0];    // 'h'

...

Console.WriteLine(cord); // harp

索引的声明包括:可选的访问修饰符(例子中是public),返回值的类型(char),关键字this(不能省略),和函数参数类似的参数(不过是方括号,而不是函数的圆括号),然后是索引体。你不能使用静态索引,所以你不能在索引的声明中使用static关键字。

索引可以被声明为虚拟的,因此它可以在它的派生类中被重载。

索引的参数不能使用ref/out型参数。例如:

              struct StringSection

       {

           public char this [ref int at]//错误

           ...

       }

2.读和写

·       索引只能包含下列语句

w       get {  } 用来读

w       set {  } 用来写

struct StringSection

{

    ...

    public char this [int at]   
    {  

        get { return ...; }

        set { ... = value; }

    }

    ...

}

cord[3] = 'e';

if (cord[3] == 'e') ...

索引的声明和属性一样:只能含有set/get语句。

当使用一个索引表达式进行读操作时,索引的get语句自动运行,例如在上面的例子中,表达式:

              cord[3] == 'e'

系统会自动调用索引的get语句(3传递给索引的整型参数),返回一个char型值,这个char型值然后和'e'进行比较。

当使用一个索引表达式进行写操作时,索引的set语句自动运行,例如在上面的例子中,表达式:

              cord[3] = 'e'

系统会自动调用索引的set语句(3传递给索引的整型参数),set语句可以取得表达式右边的值,它是通过value这个“关键字”来获得的。

3.只读或只写

·        只有get 语句的索引是

w       只读索引

·        只有set 语句的索引是

w       只写索引

struct StringSection

{

    ...

    public char this [int at]

    {  

        get { return ... }

    }

    ...

}

StringSection cord("csharp", 1, 6);

...

if (cord[4] == 'k') {

    cord[4] = 'k'; //错误

}

 

一周学会C#

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

一周学会C#(索引二)

一周学会C#(索引二)C#才鸟(QQ:249178521)4.索引vs.数组·       索引和数组的比较   w       索引可以使用非整型参数w       索引可以被重载 w       ...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:13
  • 926

一周学会Linux实战

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

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
  • 453

一周学会C#(属性一)

一周学会C#(属性一)C#才鸟(QQ:249178521)1.    问题原始的封装是麻烦的struct Time {     ...     public int GetHour()     {  ...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:12
  • 851

一周学会C#(结构一)

一周学会C#(结构一)C#才鸟(QQ:249178521)1.结构的声明·       结构是用户自定义的值类型struct Pair {     public int X, Y; //公有变量名单词...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:12
  • 828

一周学会C#(语句一)

一周学会C#(语句一)C#才鸟(QQ:249178521)1. 语句·          语句 w        声明语句 w        表达式语句 ·        块 w        是语句...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:11
  • 1179

一周学会C#(枚举一)

一周学会C#(枚举一)C#才鸟(QQ:249178521)1.类型·       值类型 w       变量直接包含它们自己的数据 w       局部变量总是放在栈(stack)中 ·      ...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:12
  • 1183

一周学会C#(类一)

一周学会C#(类一)C#才鸟(QQ:249178521)1.类的声明·       类是用户自定义的引用类型class Pair {     public int X, Y; //公有变量名单词的首字...
  • zhf7878
  • zhf7878
  • 2004年01月12日 17:14
  • 809

在一周内学会使用 AUTO CAD

学习目的: 1、使用AUTO CAD绘制电路板外框、元器件封装; 2、借助软件使用,对产品结构有更深入的体会。 学习过程: 1、由于本人急需在短时间内具备简单的二维绘图能力,故没有借鉴、对比网...
  • CYP_2015
  • CYP_2015
  • 2017年05月05日 13:57
  • 212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一周学会C#(索引一)
举报原因:
原因补充:

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