问题描述
这是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关键字也可以。 但是,如果我要将其定义为常量,Microsoft Visual Studio将拒绝使用
我还尝试将const
替换为readonly
,但也无法正常工作。
如何将矩阵定义为常量?
解决方法
这里是MSDN的文档,内容可定义为const。我将引用所需的部分。
仅C#内置类型(不包括System.Object)可以声明为const。用户定义的类型(包括类,结构和数组)不能为const。
在您的情况下,您尝试将MathNet.Numerics.LinearAlgebra.Matrix<Complex32>
定义为const,但是使用了声明的类型,因此不能为const