Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2010, 19:42   #1
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию Как узнать текущий индекс в foreach

Если я проверяю элементы в массиве через foreach и , например, я нашел нужный мне элемент - как мне узнать его индекс?
boris-blade вне форума Ответить с цитированием
Старый 24.03.2010, 20:04   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Да уж сложно тут, чем то конкретным помочь. Код надо свой выкладывать.
Вот приведу свой, тут я каждый контрол подписываю на события, которые на тул стрип выводят подсказки и очищают его:
Код:
            this.toolStripStatusLabel1.Text = String.Empty;
            //создаём массив из GroupBox'ов, что на форме
            GroupBox[] groupBoxes = { this.groupBox1, this.groupBox2, this.groupBox3, this.groupBox4,
                         this.groupBox5, this.groupBox6, this.groupBox7, this.groupBox8,
                         this.groupBox9, this.groupBox10 };

            for (int i = 0; i < groupBoxes.Length; i++)
            {   //для каждого контрола в текущем GroupBox'е делать...
                foreach (Control control in groupBoxes[i].Controls)
                {
                    if (control.Tag is string)
                    {
                        control.MouseEnter += new EventHandler(toAll_MouseEnter);
                        control.MouseLeave += new EventHandler(toAll_MouseLeave);
                    }
                }
            }
Casper-SC вне форума Ответить с цитированием
Старый 25.03.2010, 09:46   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от boris-blade Посмотреть сообщение
Если я проверяю элементы в массиве через foreach и , например, я нашел нужный мне элемент - как мне узнать его индекс?
Нормально никак. Или через for переписывать или счетчик заводить или еще как.
Код:
int i = 0;
foreach (...)
{
  if (...)
  {
    // Индекс элемента - i
    ...
  }
  ++i;
}
pu4koff вне форума Ответить с цитированием
Старый 25.03.2010, 19:11   #4
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию

а если массив динамический - что-то меняется?
boris-blade вне форума Ответить с цитированием
Старый 25.03.2010, 19:26   #5
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Ну я тоже бился над этой задачей...
Пришол к мнению что только через for...
ЗЫ кстати for работатет не значительно, но быстрее foreach
dampirik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать индекс Листа valerij Microsoft Office Excel 1 25.02.2010 19:04
Delphi Как узнать индекс компонента Alex1991 Помощь студентам 7 23.02.2010 21:48
Контрол TAdvOfficeTabSet: как узнать индекс активной закладки? Ronaldo Общие вопросы Delphi 0 15.12.2009 21:58
Узнать индекс компонента в событие larin1974 Общие вопросы Delphi 5 13.12.2009 13:59
Ноут. Как узнать текущий план электропитания? Сменить его? TwiX Компьютерное железо 3 01.10.2009 21:35