C#2015国际和#x2B+++;int,int+=1,int=int+;1.问题
我真的对这么简单的问题感到困惑。以下代码不会每次递增C#2015国际和#x2B+++;int,int+=1,int=int+;1.问题,c#,increment,C#,Increment,我真的对这么简单的问题感到困惑。以下代码不会每次递增 int deviceId = 0; DeviceCollection coll = DirectSound.GetDevices(); foreach (DeviceInformation dev in coll.Skip(1)) { comboBoxDevice.Items.Add(deviceId+": "+dev.Description); deviceId++; comboBoxDevice.SelectedI
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;
他们都得到了同样的结果。问题解决了
DeviceCollection coll = DirectSound.GetDevices();
foreach (DeviceInformation dev in coll.Skip(1))
{
comboBoxDevice.Items.Add(deviceId +": "+ dev.Description);
deviceId++;
}
comboBoxDevice.SelectedIndex = 0;
我将selectedIndexChangedEvent添加到ComboBox,它将通过ComboBox的selectedIndex设置设备ID。因此,在第一个循环中,它将再次将deviceId设置为0。deviceId的定义在哪里?您希望得到什么样的输出?您不会从对显示的代码的单个调用中获得该输出-您不会两次将
0
视为deviceId
。我猜您多次调用此代码。请提供一个.@ OLILLink PrHEPS,你应该首先考虑调试你自己的代码…具体地学习使用断点。