【发布时间】:2018-01-13 12:46:55
【问题描述】:
我真的对这么简单的问题感到困惑。以下代码不会每次都递增。
int deviceId = 0;
DeviceCollection coll = DirectSound.GetDevices();
foreach (DeviceInformation dev in coll.Skip(1))
{
comboBoxDevice.Items.Add(deviceId+": "+dev.Description);
deviceId++;
comboBoxDevice.SelectedIndex = 0;
}
我的输出如下所示:
0: speaker1 .....
0: speaker2 .....
1: speaker3 .....
谁能告诉我为什么会这样?
我已经尝试过这样解决它:
++deviceId;
deviceId += 1;
deviceId = deviceId+1;
他们都得到了相同的结果。
【问题讨论】:
-
deviceIddefind 在哪里? -
您期望的输出是什么?
-
您不会从对您展示给我们的代码的一次调用中获得该输出 - 您不会将
0视为deviceId两次。我的猜测是您多次调用此代码。请提供minimal reproducible example。 -
@OliverLink 或许你应该首先考虑调试自己的代码……特别是学习使用断点。
-
显示
DirectSound.GetDevices()是否依赖comboBoxDevice.Items?