Быстрый и простой способ отсортировать эти данные, взятые из TSV, и выделить их в соответствии с одним из полей, которые он содержит

Я хочу знать самый быстрый и простой способ сортировки кода, показанного ниже. Сортировка из newRecord.AppCode не подходит, так как это изменит смысл вывода. Поэтому мне нужно отсортировать каждую строку из строки outp. Какой будет лучший способ? Также я хотел бы сделать каждый ряд особенным. Я считаю, что использование LINQ было бы очень быстрым, но я не настолько хорош в этом. Помощь приветствуется. Так близко, чтобы сделать это! Примечание: данные извлекаются из цв. Использование.net 3.5, visual studio 2008) Будет отмечать ответ, как только я получу прогресс.:)

while ((line = sr.ReadLine()) != null)
            {
                String[] splitted = line.Split('\t');
                appcodes.Add(line);
                Records newRecord = new Records();

                newRecord.Server = splitted[0];
                newRecord.Instance = splitted[1];
                newRecord.AppCode = splitted[2];
                newRecord.Database = splitted[3];
                listrecords.Add(newRecord);
                for (int i = 0; i < appcodes.Count(); i++)
                {
                    if (newRecord.AppCode==appcodes[i].ToUpper())
                    {
                        String outp = newRecord.AppCode + "  " + newRecord.Server + "  " + newRecord.Instance + "  " + newRecord.Database;


                        Console.WriteLine(outp);
                    }
                }


            }

2 ответа

Решение

Есть списки с именами хранителей и новичков. Попытка сделать что-то вроде outp.sort() и outp.sort(), но это не работает в строках. Вот как я решил проблему.

 Keepers.Add(outp);

Keepers.Sort();

 newKeepers = Keepers.Distinct().ToList();

foreach (object o in newKeepers)
            {
                Console.WriteLine(o);
            }
Console.ReadLine();

Как видите, новые записи содержат разные поля, поэтому я написал инструкцию LINQ для решения проблемы.

 var sorted_list = (from r in newrecords
                                   orderby r.AppCode, r.Server, r.Instance, r.Database
                                   select r).Distinct().ToList();


                var distinctSortedList = sorted_list.Distinct().ToList();
Другие вопросы по тегам