在C#中返回对double的引用?

在C#中返回对double的引用?,c#,reference,C#,Reference,我是C#新手,我正在尝试实现一个矩阵类。我想在(I,j)有一个函数,它将支持设置和获取数据,也就是说,我希望能够将它用于M.at(I,j)=5.0和如果(M.at(I,j)>3.0)。在C++中,我会这样写: double& at(i,j) { return data[i * cols+ j]; } var matrix = new Matrix(); if (matrix[i, j] > 3.0) { // double at index i, j is bigg

我是C#新手,我正在尝试实现一个矩阵类。我想在(I,j)有一个函数,它将支持设置和获取数据,也就是说,我希望能够将它用于
M.at(I,j)=5.0
如果(M.at(I,j)>3.0)
。在C++中,我会这样写:

double& at(i,j) {
   return data[i * cols+ j];
}
var matrix = new Matrix();
if (matrix[i, j] > 3.0)
{
    // double at index i, j is bigger than 3.0
}

matrix[i, j] = 5.0;
同样的函数在C#中看起来如何? 我读过一些主题,比如
但我不想使用包装器。

您要找的是:

你这样消费它:

double& at(i,j) {
   return data[i * cols+ j];
}
var matrix = new Matrix();
if (matrix[i, j] > 3.0)
{
    // double at index i, j is bigger than 3.0
}

matrix[i, j] = 5.0;