C# 2015 int++, ++int, int+=1, int = int +1; проблемы

Я действительно запутался в такой простой проблеме. Следующий код не будет увеличиваться каждый раз.

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;

со всеми они получили одинаковый результат.

1 ответ

Проблема разгадана!

        DeviceCollection coll = DirectSound.GetDevices();
        foreach (DeviceInformation dev in coll.Skip(1))
        {
            comboBoxDevice.Items.Add(deviceId +": "+ dev.Description);
            deviceId++;                             
        }
        comboBoxDevice.SelectedIndex = 0;

Я добавил selectedIndexChangedEvent в ComboBox, который установит deviceId selectedIndex в Combobox. Таким образом, в первом цикле он снова установит deviceId в 0.

Другие вопросы по тегам