Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
van Persie
27 / 27 / 10
Регистрация: 10.03.2012
Сообщений: 249
1

Работа с foreach: объясните работу кода

19.03.2012, 23:27. Просмотров 1146. Ответов 6
Метки нет (Все метки)

Есть код:
C#
1
2
3
4
5
6
7
8
9
10
11
private void button11_Click(object sender, EventArgs e)
        {
            string[] str = textbox.Text.Split('\n');
            
            foreach(string st in str)
            {
                if ((st == "-") || (st == "+"))
                {
                    label1.Text = "st";  
                }
            }
Нехитрыми изминениями в коде я определил что st считывает "+" или "-" если он стоит первым в textbox. Подскажите как работает мой код и как сделать так чтобы st получал значение каждого елемента в строке textbox.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2012, 23:27
Ответы с готовыми решениями:

Консоль: объясните работу кода
Пишу консольное приложение, которое строку с истфиксной записи будет превращать в постфиксную,...

Консоль: объясните работу кода
Вот класс, который должен преобразовать истфиксную строку в постфиксную. using System; using...

Объясните работу куска кода с IndexOf
Здравствуйте. Объясните, как работает кусок кода. Заранее спасибо. while (cur != -1) ...

Объясните принцип действия foreach: что происходит с переменными
Интересует такой вопрос - когда мы пишем что то наподобее foreach(var a in results), можем ли мы...

6
-SeRg-
25 / 25 / 7
Регистрация: 03.06.2010
Сообщений: 76
20.03.2012, 00:33 2
не совсем понятно задание и что должно в итоге получится...
будет происходить тоже самое...
C#
1
2
3
4
  if ((textBox1.Text == "-") || (textBox1.Text == "+"))
                    {
                        label1.Text = textBox1.Text;
                    }
т.к массив будет переписываться единственным значением из текстбокса, при каждом срабатывании события клик. foreach тут используется для вывода этого значения из массива, проверки его значения и вывода на лэйбл (с таким же успехом можно убрать цикл и тупо сравнивать первое значение массива str[0] с +\-, т.к этот элемент переписывается и значение текстбокса лежит в нём до следующего клика, затем оно обновляется)
0
van Persie
27 / 27 / 10
Регистрация: 10.03.2012
Сообщений: 249
20.03.2012, 00:39  [ТС] 3
Я надеюсь сделать следующее:
Строку из текстбокса сделать массивом и проверять елементы ровны они "+" или "-".
Вообще это что-то типа калькулятора куда можно записать, например, "2+1-4". И мой код в ближайшем будущем должен будет отделить цыфры от знаков.
0
-SeRg-
25 / 25 / 7
Регистрация: 03.06.2010
Сообщений: 76
20.03.2012, 00:51 4
Цитата Сообщение от van Persie Посмотреть сообщение
Строку из текстбокса сделать массивом и проверять елементы ровны они "+" или "-".
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      string[] str = new string[100];
         int n = 0;
 
            private void button1_Click(object sender, EventArgs e)
            {               
                   str[n] = textBox1.Text;
                   n++;            
            }
 
            private void button2_Click(object sender, EventArgs e)
            {
                foreach (string st in str)
                {
                    if ((st == "-") || (st == "+"))
                    listView1.Items.Add(st);
                }
            }
эту часть как-то так можно сделать
0
van Persie
27 / 27 / 10
Регистрация: 10.03.2012
Сообщений: 249
20.03.2012, 00:55  [ТС] 5
Это от первого клика строку текстбокса получит масив str[0] или только первый символ?
0
-SeRg-
25 / 25 / 7
Регистрация: 03.06.2010
Сообщений: 76
20.03.2012, 00:58 6
массив будет заполняться по клику кнопки, т.е ввели значение в текстбокс, нажали на кнопку и оно в массиве, потом ещё раз ввели и ещё раз нажали и следующее значение в массиве и т.д (n - счётчик нажатий и индекс элементов массива), по нажатию на 2-ю кнопку массив проверяется на совпадение элементов с + и - (и в случае совпадения этот элемент добавляется в листвью)
1
van Persie
27 / 27 / 10
Регистрация: 10.03.2012
Сообщений: 249
20.03.2012, 00:59  [ТС] 7
Цитата Сообщение от -SeRg- Посмотреть сообщение
массив будет заполняться по клику кнопки, т.е ввели значение в текстбокс, нажали на кнопку и оно в массиве, потом ещё раз ввели и ещё раз нажали и следующее значение в массиве и т.д (n - счётчик нажатий и индекс элементов массива), по нажатию на 2-ю кнопку массив проверяется на совпадение элементов с + и - (и в случае совпадения этот элемент добавляется в листвью)

ПОнял, большое спасибо.
0
20.03.2012, 00:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2012, 00:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Объясните работу с классами
добрый день! объясните мне работу с классами. Мое видение то есть к примеру мне нужно создать...

Объясните работу класса ManagementObject
Осваиваю C#. практикуюсь на WMI и получении информации о ПК с его помощью. Например, есть такой...

Объясните работу цикла в приведенном коде
Объясните пожалуйста следующий фрагмент for (int i = 1; i < txt.Length; i++) ...

Объясните работу с интерфейсами в данном примере
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.