首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将MathNet.Numerics.LinearAlgebra.Matrix定义为Const?

无法将MathNet.Numerics.LinearAlgebra.Matrix定义为Const?
EN

Stack Overflow用户
提问于 2020-08-24 01:11:38
回答 1查看 98关注 0票数 0

以下是C#代码:

代码语言:javascript
复制
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,但也不起作用。

如何将矩阵定义为常量?

EN

回答 1

Stack Overflow用户

发布于 2020-08-24 01:46:43

以下是MSDN关于可以定义为const的内容的文档。我会引述所需的部分。

只有C#内置类型(不包括System.Object)可以声明为const。用户定义的类型(包括类、结构和数组)不能是const。

在您的示例中,您试图将MathNet.Numerics.LinearAlgebra.Matrix<Complex32>定义为const,但它使用的是声明类型,因此不能是const

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63553513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档