2016-11-29 3 views
-1

У меня есть задание, в котором я должен сортировать список телефонов по имени. У меня есть следующий код. Я знаю, что это беспорядок, и некоторые вещи отсутствуют, но это то, что я получил сейчас. Некоторые переменные на португальском языке, но я сделаю все возможное, чтобы сделать его понятным. Это другой случай, когда я не разрешается использовать LINQ или списковСортировка списка телефонов в C#

static void Main(string[] args) 
{ 
    string file= "nomes.txt"; 
    string[] text = File.ReadAllLines(file); 

    // Reads line by line 
    for (int i = 0; i < text.Length; i++) 
    { 
     string line = text[i]; 

     for (int j = 0; j < line.Length; j++) 
     { 
      if (char.IsWhiteSpace (line [j-1]) == true) 
       { 
        string[] palavra = line.Split(','); 

        if (char.IsDigit(line [j]) == true) 
        { 
         string[] nr = line.Split('-'); 
         Console.WriteLine(line); 
        } 
       } 
     } 
    } 

    Console.ReadKey(); 
} 

файла выглядит следующим образом:

Joaquim Lopes da Silva 932 000 999 
Maria da Conceição Granja 91 384 75 34 
Herculano Lopes Vieira 253334556 

Ожидаемый результат:

Silva, Joaquim Lopes da - 932 000 999 
Granja, Maria da Conceição - 913 847 534 
Vieira, Herculano Lopes - 253 334 556 
+1

и как ваш текстовый файл выглядеть ?? –

+0

что такое posletra? – Sajeetharan

+0

Проверьте изменения. Posletra означает размещение каждой буквы, там прокомментировано –

ответ

0

Сначала прочитайте все данные в Список < Пункт:

class Item { 
    public string First; 
    public string Second; 
    ... 
} 
var items = ReadFromFile(); 

Затем с помощью LINQ:

var sortedItems = items.OrderBy(entry, entry.First); 

где entry.First это поле строка для «Silva» или «Гранха» и т.д.

+0

Я все еще на основах, поэтому я должен " t использовать любые пропущенные вещи. Только массивы, методы и циклы. Также я хочу знать, подходит ли мой код для него. –

+0

- это продвинутый? Это довольно примитивно. – David

+0

@ HenriqueGuimarães, может быть, вы обнаружите, что более дружественный к массиву: var sortedItems = items.OrderBy (entry, entry.First) .ToArray(); –

Смежные вопросы