2010-09-22 18 views
8
public int this[int x, int y] 
{ 
    get { return (x + y); } 
} 

Respuesta

20

Es indexer que acepta dos enteros. Puede pensar que es similar a una matriz bidimensional, excepto que el resultado se calcula sobre la marcha en lugar de almacenarse.

Se le permite escribir int result = foo[a, b];

1

Es un indexador, y que el código es probablemente incorrecta. Verías normalmente:

public int this[int x, int y] 
{ 
    get { return (x * ColSize + y); } 
} 

class TheMatrix<T> 
{ 
    private int _rows, _cols; 
    private T[] _data; 
    public TheMatrix(int rows, int cols) 
    { 
     _rows = rows; 
     _cols = cols; 
     _data = new T[_rows * _cols]; 
    } 

    T this[int r, int c] 
    { 
     get { return _data[r * _cols + c]; } 
     set { _data[r * _cols + c] = value; } 
    } 
} 
+0

Estoy de acuerdo con usted, pero me muestran a llamar a su función y la mina de ambos. –

+0

Ok, hecho ________ –

Cuestiones relacionadas