Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Поиск данных в массиве....

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 18.01.2013, 20:20   #1
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Поиск данных в массиве....

Сижу туплю....

Имеем массив:

... [] New_Mass = { 33FA, D453, В442 А64E, 3324, 3223, AAEF......};

Как произвести поиск нужного мне значения?
Например нужно определить, есть ли внутри массива значение А64E, если есть, то +1 к значению N, а если нету, то -1....
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 18.01.2013, 20:56   #2
Заблокирован
 Рыцарь-капитан
Аватар для warl0ck
 
warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(
Регистрация: 29.01.2010
Сообщений: 547
Популярность: 41279
Сказал(а) спасибо: 692
Поблагодарили 2,270 раз(а) в 1,035 сообщениях
 
По умолчанию Re: Поиск данных в массиве....

старый добрый for (как по мне он самый удобный и понятный)
Код:
        public static bool check(string[] array, string key )
        {
            for (int index = 0; index < array.Length; index++)
            {
                if (array[index] == key)
                {
                    return true;
                }
            }

            return false;
        }
пример с использованием foreach (компилятор в большинстве случаем переводит его в for.)
Код:
        public static bool check(string[] array, string key )
        {
            foreach (var a in array)
            {
                if (a == key)
                {
                    return true;
                }
            }

            return false;
        }
пример с linq (как же я его ненавижу)
Код:
        public static bool check(string[] array, string key )
        {
            return array.Any(t => t == key);
        }
как использовать
Код:
            int n = 0;
            string[] array = new string[] {"dsadas","dsahdsad", "", "key", "22dsa8" };

            if(check(array, "key")==true)
            {
                n++;
            }
            else
            {
                n--;
            }
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (18.01.2013)
Старый 18.01.2013, 21:58   #3
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: Поиск данных в массиве....

warl0ck, Спасибо...
Решил свою проблемму немного подругому:
Код:
 if (((IList<string>)N_ID).Contains(New_Mass))           
                N++;//совпадение
            else
                N--;//нет совпадения
Может кому пригодится....
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 20.01.2013, 16:24   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Поиск данных в массиве....

Код:
        long howManyInMassive(string[] massive, string find)
        {
            return massive.Where(finding => finding == find).Count();
        }
Самый быстрый способ, узнать сколько чего либо в массиве. на примере string.
(По сравнению с любыми циклами обрабатывается в разы быстрее)
//Пример
Код:
            string[] New_Mass = { "AAA", "TTT", "GGG", "CCC", "AAA", "AAA", "AAA", "VVV", "AAA" };
            long N = howManyInMassive(New_Mass, "AAA");
            MessageBox.Show(N.ToString());
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.

Последний раз редактировалось Nickitee; 20.01.2013 в 16:26.
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (20.01.2013)
Старый 20.01.2013, 17:17   #5
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Поиск данных в массиве....

Ну и я тогда свои 5 копеек вставлю
Код:
long howManyInMassive<T>(IEnumerable<T> massive, T find)
{
    return massive.Count(finding => finding == find);
}
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (20.01.2013)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] База данных? ars471 Вопросы и ответы, обсуждения 1 10.07.2011 20:33
Поиск наименьшего и наибольшего значения в массиве rak511 С/С++ 1 06.02.2011 19:09

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:02.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net