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

use*_*644 2 c# xna constants visual-studio-2010 kinect

我正在使用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);
Run Code Online (Sandbox Code Playgroud)

编辑 //例如//这些值将根据骨架位置不断变化.我想冻结//这些点并将它们存储在某个变量中.

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

const float totalWidth = rightShoulderPt.X - leftShoulderPt.X;
Run Code Online (Sandbox Code Playgroud)

错误1分配给'totalWidth'的表达式必须是常量

Ola*_*ers 8

永远不要改变价值.该constant关键字是为编译时间常数,不是运行!

您可以readonly在构造函数中使用并分配此值.除此之外,我不认为你的情况有一个特定的关键字.