Поиск элементов одного массива в другом - 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;