繁体   English   中英

在C#中返回引用double?

[英]Return reference to double in C#?

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

double& at(i,j) {
   return data[i * cols+ j];
}

C#中的相同功能如何? 我已经阅读了一些主题,例如是否可以在C#中返回对变量的引用? 但我不想使用包装器。

您正在寻找的是索引器

public class Matrix
{
    public double this[int i, int j]
    {
        get
        {
            return internalStorage[i, j];
        }
        set
        {
            internalStorage[i, j] = value;
        }
    }
}

你这样消费它:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM