简单代码的问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestIndex2
{
public class MyIndex
{
int m, n;
Array MyArray;
public MyIndex(int m, int n)
{
this.m = m;
this.n = n;
MyArray = Array.CreateInstance(typeof(object), m * n);
}
//把二维数组的下标转换为一个一维数组的相应的下标
public object this[int i, int j]
{
get
{
int k = i * m + n;
return MyArray.GetValue(k);
}
set
{
int k = i * m + n;
MyArray.SetValue(value, k);
}
}
class Program
{
static void Main(string[] args)
{
//定义了一个类二行三列对象
MyIndex myArray = new MyIndex(2, 3);
//通过调用set 存取器来修改对象myArray的第二列和第三列处元素
myArray[1, 2] = 2.5;
Console.WriteLine("数组的值为:" + myArray[1, 2]);
}
}
}
}
请问:这是书上的一个程序例子,
public object this[int i, int j] 这里有参数j,下面没有用到j啊,是不是错误?
还有这里的i ,j没有初始化吗? 还是已经隐含的初始化为0 了?
谢谢
------解决方案--------------------
请问:这是书上的一个程序例子,
public object this[int i, int j] 这里有参数j,下面没有用到j啊,是不是错误?
还有这里的i ,j没有初始化吗? 还是已经隐含的初始化为0 了?
定义了一百个参数,只是用了10个参数算错误码?
还有这里的i ,j没有初始化吗? 还是已经隐含的初始化为0 了?
i ,j是从外部传入的参数,相当于定义了一个函数,函数的参数是从外边传进来的,