以下是C#代码:
const MathNet.Numerics.LinearAlgebra.Matrix<Complex32> ket_Zero =
MathNet.Numerics.LinearAlgebra.Matrix<Complex32>.Build.DenseOfRowMajor(2, 1,
new MathNet.Numerics.Complex32[] {
new MathNet.Numerics.Complex32(1,0),
new MathNet.Numerics.Complex32(0,0)
} );如果我不放const关键字的话就没事了。但是,如果要将此定义为常量,则将拒绝使用
错误代码CS0133 =分配给'Form1.ket_Zero‘的表达式必须是常量。
我还试着用readonly代替readonly,但也不起作用。
如何将矩阵定义为常量?
发布于 2020-08-24 01:46:43
以下是MSDN关于可以定义为const的内容的文档。我会引述所需的部分。
只有C#内置类型(不包括System.Object)可以声明为const。用户定义的类型(包括类、结构和数组)不能是const。
在您的示例中,您试图将MathNet.Numerics.LinearAlgebra.Matrix<Complex32>定义为const,但它使用的是声明类型,因此不能是const。
https://stackoverflow.com/questions/63553513
复制相似问题