c#中有什么可以替代Constant的吗?
本文关键字:Constant 的吗 什么 | 更新日期: 2023-09-27 18:06:20
我正在使用微软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。
const float totalWidth = rightShoulderPt.X - leftShoulderPt.X;
错误1赋值给'totalWidth'的表达式必须是常量
永远不要改变这个值。constant
关键字指的是编译时常量,而不是运行时常量!
可以使用readonly
并在构造函数中赋值。除此之外,我不认为有一个特定的关键字适合你的情况。
readonly
允许您在构造函数中设置值,但禁止任何进一步的更改。
http://msdn.microsoft.com/en-us/library/acdd6hb7.aspxreadonly关键字是一个可以在字段上使用的修饰符。当一个字段声明包括一个只读修饰符,赋值给声明引入的字段只能作为在同一类的构造函数中声明或