簡體   English   中英

在C#中有什么替代Constant嗎?

[英]Is there any alternative to Constant in C#?

我正在使用Microsoft XNA和Kinect創建一個程序。 我想得到一個骷髏的寬度。 我有骷髏右手和左手點。 我減去它們並獲得骨架的寬度。 我希望將此值存儲在常量中,以便在Skeleton移動到任何位置時它不會改變。

我寫了以下代碼,但它給了我以下錯誤消息。 請告訴我任何替代方案或指導我如何使用常數

Joint hand = skl.Joints[JointType.HandRight];
DepthImagePoint rightShoulderPt = sensor.CoordinateMapper.MapSkeletonPointToDepthPoint(rightShoulder.Position, DepthImageFormat.Resolution640x480Fps30);

DepthImagePoint leftShoulderPt = sensor.CoordinateMapper.MapSkeletonPointToDepthPoint(leftShoulder.Position, DepthImageFormat.Resolution640x480Fps30);

編輯 //例如//這些值將根據骨架位置不斷變化。 我想凍結//這些點並將它們存儲在某個變量中。

rightShoulderPt.X = 200; leftShoulderPt.X = 450;

const float totalWidth = rightShoulderPt.X - leftShoulderPt.X;

錯誤1分配給'totalWidth'的表達式必須是常量

永遠不要改變價值。 constant關鍵字用於編譯時常量,而不是運行時!

您可以使用readonly並在構造函數中分配此值。 除此之外,我不認為你的情況有一個特定的關鍵字。

readonly允許您在構造函數中設置值,但禁止任何進一步的更改。

readonly關鍵字是一個可以在字段上使用的修飾符。 當字段聲明包含只讀修飾符時,聲明引入的字段的賦值只能作為聲明的一部分或在同一個類的構造函數中出現。

http://msdn.microsoft.com/en-us/library/acdd6hb7.aspx

暫無
暫無

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

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