Поиск элементов одного массива в другом - C#

Узнай цену своей работы

Формулировка задачи:

Есть 2 массива. Элементы почти все совпадают. Вот я хочу узнать все совпадения, а точнее их индексы. Например name {a,b,c,d,e}, а name2 {d,b,a,c,f,e} Какой-то бред написал. Бред, т.к. выдается просто список в данном случае от 0 до 4, а хочу получить 2,1,3,0,5
string filtr="";
             for (int n =0; n < 5; n++)
             {
                 int i = Array.IndexOf(name2, name[n]);
                 filtr += Convert.ToString(i)+ Environment.NewLine;
             }
             richTextBox1.Text = filtr;
Тыкните меня в то место, где я ошибся. Ну или какую другую идею подскажите Только начинаю программировать, туплю дико
Ответ до сих пор не найден

Решение задачи: «Поиск элементов одного массива в другом»

textual
Листинг программы
            //парсинг  csgoex
            nameCsgoex.Text = "";
            string x = nameCsgoex.Text;
            string text = csgoexBrowser.DocumentText;
            string pattern = "<td>(.*?)</td>";
            foreach (Match match in Regex.Matches(text, pattern))
            {
                x += match.Groups[1].Value + Environment.NewLine;
                Application.DoEvents();
            }
            nameCsgoex.Text = x;
 
            string y = priceCsgoex.Text;
            string text2 = csgoexBrowser.DocumentText;
            csgoexBrowser.Navigate("about:blank");
            string pattern2 = ">\\$(.*?)<br>";
            foreach (Match match in Regex.Matches(text2, pattern2))
            {
                y += match.Groups[1].Value + Environment.NewLine;
                Application.DoEvents();
            }
            priceCsgoex.Text = y;
 
            //парсинг  аналистик
            nameAnalystic.Text = "";
            string z = nameAnalystic.Text;
            string text3 = analysticBrowser.DocumentText;
            string pattern3 = "data-name="(.*?)" itemid";
            foreach (Match match in Regex.Matches(text3, pattern3))
            {
                z += match.Groups[1].Value + Environment.NewLine;
                Application.DoEvents();
            }
            nameAnalystic.Text = z;
 
            string u = priceAnalystic.Text;
            string text4 = analysticBrowser.DocumentText;
            analysticBrowser.Navigate("about:blank");
            string pattern4 = "<div class="item_price">(.*?)</div>";
            foreach (Match match in Regex.Matches(text4, pattern4))
            {
                u += match.Groups[1].Value + Environment.NewLine;
                Application.DoEvents();
            }
            priceAnalystic.Text = u;
            
            //массив аналиста
            String analysticNameArray = nameAnalystic.Text;
            String[] name2 = analysticNameArray.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(0).ToArray();
 
            String analysticPriceArray = priceAnalystic.Text;
            String[] price2 = analysticPriceArray.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(0).ToArray();
 
            //массив csgoex
            String csgoexNameArray = nameAnalystic.Text;
            String[] name = analysticNameArray.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(0).ToArray();
 
            String csgoexPriceArray = priceAnalystic.Text;
            String[] price = analysticPriceArray.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(0).ToArray();
 
             string filtr="";
             for (int n =0; n < 7035; n++)
             {
                 int i = Array.IndexOf(name, name2[n]);
                filtr += (filtr.Length > 0 ? "," : "") + i;
            }
             richTextBox1.Text = filtr;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы