2012-09-11 3 views
-3

В C# У меня есть цикл foreach, где я хочу ++ целое число.C# целочисленная переменная в цикле foreach

Код выглядит так:

private void btnClick(object sender, EventArgs e) 
{ 
    int Counter = 0; 
    foreach (SettingsProperty currrentProperty in Properties.Settings.Default.Properties) 
    { 
     Counter++; 
    } 
    lblText.Text = Counter.ToString(); 
} 

Простой, но, конечно, потому что я должен Ассинг целого числа переменных прилипают к 0, в противном случае ошибка компилятора. Так что lblText.Text печатает 0 мне.

Я просто не могу заставить его работать должным образом. Уверенный, это простой, но я не мог найти тент.

+12

Вы уверены, что 'Properties.Settings.Default.Properties' не пуст? – zerkms

+0

Что *** точно *** происходит, когда вы говорите «ошибки компилятора»? какой именно текст? В принципе, это должно быть хорошо. –

+1

@MarcGravell Я считаю, что он говорит об определенной ошибке присваивания, которую компилятор поднимет, если в декларации не было присвоения ('int Counter; ...') – phoog

ответ

1

я считаю, что Properties.Settings.Default.Properties пустой. Таким образом, чтобы убедиться, что она пуста попробовать:

private void btnClick(object sender, EventArgs e) 
{ 
    if(Properties.Settings.Default.Properties.Count != 0) 
    { 
     int Counter = 0; 
     foreach (SettingsProperty currrentProperty in Properties.Settings.Default.Properties) 
     { 
     Counter++; 
     //Some stuff here else just use .Count without use a foreach 
     } 
     lblText.Text = Counter.ToString(); 
    } 
    else 
     throw new Exception("Properties.Settings.Default.Properties is empty"); 
} 

Else пытаются установить некоторые точки останова перед тем компиляции кода.

Смежные вопросы