如何根据另一个List的元素对字符串数组进行排序

时间:2016-05-20 18:38:43

标签: c# asp.net

我有一个字符串数组 - 让我们想象一下;

string[] Array = {a,b,c,d,e,a,b,c,d,e,a,b,c,d,e}

我有一个List - 类似的东西;

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是字符串数组。我想对lines中的元素进行排序alpha。有人可以指导。感谢

1 个答案:

答案 0 :(得分:2)

我想你想做这样的事情:

then

输出:aaabbbcccdddeee