C# непонятная ошибка с переменной i
Формулировка задачи:
Всем привет , я начинающий в Си шарп и затупил на одном моменте.
Вот ошибка
http://puu.sh/c9gJq/47b153e7fc.png%2...47b153e7fc.png
Код программы
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace RPN_v0._1
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public string S;
public string B;
public MainWindow()
{
string zn;
zn = B;
int s = 0;
int i;
int sum = 0;
char arefm_znak = ' ';
string str = ""; // В этой строке будет обратная польская запись
char znak = ' ';
int flag = 0;
for (i = 0; i < zn.Length; i++)
{
if (zn[i] == '+' || zn[i] == '-' || zn[i] == '/' || zn[i] == '*')
{
if (flag != 0) flag = 0;
else MessageBox.Show("Не Верно");
if (zn[i] >= '0' && zn[i] <= '9') flag = 1;
}
}
if (flag == 0) MessageBox.Show("Не верно");
for ( i = 0 ; i < zn.Length ; i++ )
{
if (zn[i] == '(') s = s + 1;
if (zn[i] == ')') s = s - 1;
}
if (s != 0) MessageBox.Show("Не Верно");
else
{
foreach (char ch in zn)
{
if (ch >= '0' && ch <= '9')
{
if (arefm_znak == ' ')
{
sum = int.Parse(ch.ToString());
str += sum.ToString() + ' ';
}
else
{
if (arefm_znak == '-') sum -= int.Parse(ch.ToString());
if (arefm_znak == '+') sum += int.Parse(ch.ToString());
if (arefm_znak == '*') sum *= int.Parse(ch.ToString());
if (arefm_znak == '/') sum /= int.Parse(ch.ToString());
str += ch.ToString() + ' ' + arefm_znak.ToString() + ' ';
}
}
else
{
if (ch == '-' || ch == '+' || ch == '*' || ch == '/') arefm_znak = ch;
}
}
}
S = zn;
}
// Кнопка Перевода
private void ButtonRPN_Click(object sender, RoutedEventArgs e)
{
if (TextboxInput.Text == string.Empty)
{
MessageBox.Show("Введите строку");
}
else
{
TextboxOutput.Text = S ;
}
}
// Кнопка сброса введенных данных
private void ButtonRefresh_Click(object sender, RoutedEventArgs e)
{
TextboxInput.Text = string.Empty;
TextboxOutput.Text = string.Empty;
}
private void TextboxInput_TextChanged(object sender, TextChangedEventArgs e)
{
TextboxInput.Text = " ";
}
private void TextboxOutput_TextChanged(object sender, TextChangedEventArgs e)
{
}
private void ButtonSave_Click(object sender, RoutedEventArgs e)
{
B = TextboxInput.Text;
}
}
}Решение задачи: «C# непонятная ошибка с переменной i»
textual
Листинг программы
string zn = TextboxInput.Text;