下面是一个包含在我用来对矩阵执行操作的类中的函数。该函数返回一个布尔值,第一个 IF 语句如果 NOT TRUE,它返回一个 false 值,所以我假设一旦它返回这个值,函数的其余部分就不会执行,因为它已经返回了一个值。
如果我编写了该函数,我会将 FOR 循环包含在附加到原始 IF 语句的 ELSE 构造中。我不是专业程序员,所以如果答案很明显,我深表歉意,我只是不会以这种方式编写代码,而且我很好奇以这种方式编写的所有函数是否值得更改。
public bool IsIdentityMatrix()
{
if (!this.IsSquareMatrix())
{
return false;
}
for (int i = 0; i < this.RowCount; i++)
{
for (int j = 0; j < this.ColumnCount; j++)
{
decimal checkValue = 0;
if (i == j)
{
checkValue = 1;
}
if (mInnerMatrix[i, j] != checkValue)
{
return false;
}
}
}
}