По сути, я получил файл, который мне нужно прочитать \ открыть и отсортировать в консоли.
Файл может иметь столько строк, сколько хочет «Пользователь», и выглядит примерно так
1, элемент,
2, element1,1
3, element2,2
4, element23,1
и так далее ...
Первая часть - это идентификатор родителя, середина - его имя, а третья - идентификатор ребенка.
Если ChildID равен ParentID, мне нужно написать его под ним, чтобы он выглядел как
1, элемент,
2,element1,1
3,element2,2
4,element23,1
Сначала я попытался запомнить каждую часть во временной переменной, а затем сравнить ее позже, но поскольку это не сработало, я создал список, состоящий из элементов, для которых я использовал функцию .Split
и через 2 для циклов, я получил его для сортировки, но проблема возникает, когда я получаю элемент в списке позже, который нужно поместить где-то в начале. Он сортируется по нужному элементу, но не в правильном порядке.
public class information
{
public string Parent;
public string Name;
public string Child;
public Information
public Information (string ParentID, string NameID, string ChildID)
{
Parent = ParentID;
Name = NameID;
Child = ChildID;
}
}
В этой части я проверяю условия обоих идентификаторов и выписываю результат.
for (int i = 0; i < list.Count; i++)
{
if (list[i].Child == "")
{
Console.WriteLine(list[i].Parent + " " + list[i].Name + " " + list[i].Child);
}
for (int k = 0; k < list.Count; k++)
{
if (list[i].Parent == list[k].Child)
{
Console.WriteLine("\t" + list[k].Parent + "," + list[k].Name + "," + list[k].Child);
}
}
}
Итак, проблема в том, что когда я пишу такую строку, она не помещается в нужную часть, я также не уверен, как выполнить "\ t", чтобы она продолжалась, в зависимости от того, сколько элементы были написаны до этого.
Я считаю, что следует использовать рекурсивный метод, но на данный момент я не уверен, как это сделать.