我正在使用 Microsoft XNA 和 Kinect 创建一个程序。我想获得骨架的宽度。我有骨架右手和左手点。我减去它们并得到骨架的宽度。我想将这个值存储在一个常量中,这样如果骨架移动到任何地方它都不会改变。
我写了下面的代码,但它给了我下面的错误信息。请告诉我任何替代方法或指导我如何使用常量
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;
Error 1 The expression being assigned to 'totalWidth' must be constant
最佳答案
永远不要改变值(value)。 constant
关键字用于编译时常量,而不是运行时!
您可以使用readonly
并在构造函数中分配这个值。除此之外,我认为没有适合您情况的特定关键字。
关于c# - 在 C# 中是否有替代 Constant 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998920/