如何在c#中使用冒号索引
本文关键字:索引 | 更新日期: 2023-09-27 17:54:20
我想用A[:,2]
这样的语法访问类的实例,这在编程语言中非常普遍。
假设,我有一个类ClassA
,在它的属性Content
中有一个二维双数组,并创建了它的实例a。
如果我想通过A[2,3]
访问A.Content[2,3]
,我需要在ClassA内部构建这个方法:
public double this[int i, int j]
{
get
{
return this.Content[i,j];
}
set
{
this.Content[i,j]=value;
}
}
现在,我可以做"A[2,3]"
。
作为下一步,我也想做"A[2,:]"
(输出将是一维数组),我如何实现它?
我不相信这是可能的,因为在c#语言中没有这样的语法(据我所知)。
也许你可以使用GetRow(2)
或类似的方法。
public double[] GetRow(int rowNumber)
{
var result = new double[this.Content.GetLength(0)];
for(var i=0; i<result.Length; i++)
{
result[i] = this.Content[rowNumber, i];
}
return result;
}
GetColumn
的相同逻辑应该是直接的