Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#2015国际和#x2B+++;int,int+=1,int=int+;1.问题_C#_Increment - Fatal编程技术网

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,你应该首先考虑调试你自己的代码…具体地学习使用断点。