C# 如何在此代码中修复此异常?
这个代码有什么问题?我从一本书中照本宣科地复制了代码,不幸的是,它不起作用。我遇到了这个异常,我不知道如何修复它。这一行是例外C# 如何在此代码中修复此异常?,c#,kinect,C#,Kinect,这个代码有什么问题?我从一本书中照本宣科地复制了代码,不幸的是,它不起作用。我遇到了这个异常,我不知道如何修复它。这一行是例外 KinectSensor sensor = KinectSensor.KinectSensors[0]; 例外情况是:索引超出范围。必须为非负数且小于集合的大小 这是完整的代码: using Microsoft.Kinect; namespace ConsoleApplication4 { internal class Program {
KinectSensor sensor = KinectSensor.KinectSensors[0];
例外情况是:索引超出范围。必须为非负数且小于集合的大小
这是完整的代码:
using Microsoft.Kinect;
namespace ConsoleApplication4
{
internal class Program
{
private static void Main(string[] args)
{
try
{
KinectSensor sensor = KinectSensor.KinectSensors[0];
sensor.DepthStream.Enable();
sensor.DepthFrameReady += sensor_DepthFrameReady;
// make it look like The Matrix
Console.ForegroundColor = ConsoleColor.Green;
// start the data streaming
sensor.Start();
while (Console.ReadKey().Key != ConsoleKey.Spacebar)
{
}
}
catch (Exception)
{
throw;
}
}
private static void sensor_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e)
{
using (var depthFrame = e.OpenDepthImageFrame())
{
if (depthFrame == null)
return;
short[] bits = new short[depthFrame.PixelDataLength];
depthFrame.CopyPixelDataTo(bits);
foreach (var bit in bits)
Console.Write(bit);
}
}
}
}
假设错误来自于线路
KinectSensor sensor = KinectSensor.KinectSensors[0];
这是可用Kinect传感器的枚举,并且错误状态为位置0为空,我猜您的电脑或代码找不到Kinect传感器
如果你在那里设置一个断点并检查传感器阵列,我打赌你会发现它是空的
建议:
你连接传感器了吗
可以在设备管理器中找到它吗
安装的驱动程序??
试过一次又一次地关掉它吗
多喝咖啡
用锤子解决。
什么是异常>为什么人们总是用“我的代码引发异常”一行来发布问题,而不在问题中包含细节?了解问题所在的唯一方法是运行提供的代码,这些代码大部分时间都不完整或需要我们不知道的引用。我建议你读一下你的例外。如果你不明白它的意思,谷歌“索引超出范围”