У меня есть строковый массив - представьте себе что-то вроде;как отсортировать массив строк на основе элементов другого списка
string[] Array = {a,b,c,d,e,a,b,c,d,e,a,b,c,d,e}
и У меня есть список - что-то вроде;
List<string> l = {a,b,c,d,e}
Мне нужно сортировать массив, как:
string[] sortedArray = {a,a,a,b,b,b,c,c,c,d,d,d,e,e,e}
Мой рабочий является:
public static List<string> SortByList(List<string> values, List<string> order)
{
return values.OrderBy(x => order.IndexOf(x)).ToList();
}
private void buttonGo_Click(object sender, EventArgs e)
{
List<string> alpha = new List<string>();
List<string> m = new List<string>();
string[] gamma = null;
using (StreamWriter sw = File.CreateText(pathSave))
{
foreach (string st in parts)
{
alpha.Add(st);
}
}
using (StreamReader sr = new StreamReader(pathSave, true))
{
gamma = File.ReadAllLines(pathSave);
foreach (string i in gamma)
{
l.Add(i);
}
m = SortByList(l, alpha);
}
using (StreamWriter sw = File.AppendText(pathSave))
{
sw.Write("---------------------------------------------------------------------");
foreach (string st in m)
{
sw.Write(st);
sw.Write("\r\n");
}
}
}
Короче говоря, alpha
список строковых элементов и lines
является string Array. Я хочу сортировать lines
с учетом элементов в alpha
. Может ли кто-нибудь помочь. Благодаря
'array1.Orderby (х => array2.IndexOf (х))'. – juharr
Не уверен, что вопрос верный. Скорее всего, ваш тайм-аут в графическом интерфейсе GUI и вы должны депортировать свое лечение в другое. –
@ romain-aga эта часть кода неверна = 'foreach (строка a в alpha.ToList()) { var lines1 = lines.OrderBy (x => a) .ToList(); beta.Add (lines1); } ' – Jogi