簡體   English   中英

無法將 MathNet.Numerics.LinearAlgebra.Matrix 定義為 Const?

[英]Unable to define MathNet.Numerics.LinearAlgebra.Matrix as Const?

這是 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 會拒絕

錯誤代碼 CS0133 = 分配給“Form1.ket_Zero”的表達式必須是常量。

我也嘗試用readonly替換const但也不起作用。
如何將矩陣定義為常量?

這是MSDN上關於什么可以定義為 const 的文檔。 我將引用所需的部分。

只有 C# 內置類型(不包括 System.Object)可以聲明為 const。 用戶定義的類型,包括類、結構和數組,不能是 const。

在您的情況下,您試圖將MathNet.Numerics.LinearAlgebra.Matrix<Complex32>定義為 const 但它使用聲明類型因此不能是const

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM