Прокомментировать код как можно подробнее - C#

Узнай цену своей работы

Формулировка задачи:

Ребят ,СРОЧНО НУЖНА ПОМОЩЬ ВАША!!!! Есть прога нужно вообще по возможности закоментить как можно больше строк, и зачётик поставят, ребят выручьте пожалуйста.
 #region Естественное слияние
            public void TwoPhaseNaturalSorted(int length)
            {
                int marker;
                var s1 = 1;
                var s2 = 1;
                string buffer1 = null;
                string buffer2 = null;
                while (s1 > 0 && s2 > 0)
                {
                    marker = 1;
                    s1 = 0;
                    s2 = 0;
                    var writer1 = new StreamWriter("file1.txt");
                    var writer2 = new StreamWriter("file2.txt");
                    var readerFromSource = new StreamReader("source.txt");
 
                    buffer1 = readerFromSource.ReadLine();
                    if (buffer1 != null)
                        writer1.WriteLine(buffer1);
                    if (buffer1 != null)
                        buffer2 = readerFromSource.ReadLine();
 
                    while (buffer2 != null)
                    {
                        if (int.Parse(buffer2) < int.Parse(buffer1))
                        {
                            switch (marker)
                            {
                                case 1:
                                    {
                                        writer1.WriteLine("'");
                                        marker = 2;
                                        s1++;
                                        break;
                                    }
                                case 2:
                                    {
                                        writer2.WriteLine("'");
                                        marker = 1;
                                        s2++;
                                        break;
                                    }
                            }
                        }
                        if (marker == 1)
                        {
                            writer1.WriteLine(buffer2);
                            s1++;
                        }
                        else
                        {
                            writer2.WriteLine(buffer2);
                            s2++;
                        }
                        buffer1 = buffer2;
                        buffer2 = readerFromSource.ReadLine();
                    }
                    if (s2 > 0 && marker == 2)
                        writer2.WriteLine("'");
                    if (s1 > 0 && marker == 1)
                        writer1.WriteLine("'");
                    writer1.Close();
                    writer2.Close();
                    readerFromSource.Close();
 
                    var writerToSource = new StreamWriter("source.txt");
                    var reader1 = new StreamReader("file1.txt");
                    var reader2 = new StreamReader("file2.txt");
 
                    if (!reader1.EndOfStream)
                        buffer1 = reader1.ReadLine();
                    if (!reader2.EndOfStream)
                        buffer2 = reader2.ReadLine();
 
                    bool endRange1;
                    bool endRange2;
 
                    while (buffer1 != null && buffer2 != null)
                    {
                        endRange1 = false;
                        endRange2 = false;
                        while (!endRange1 && !endRange2)
                        {
                            if (int.Parse(buffer1) <= int.Parse(buffer2))
                            {
                                writerToSource.WriteLine(buffer1);
                                endRange1 = EndRange(reader1);
                                buffer1 = reader1.ReadLine();
                            }
                            else
                            {
                                writerToSource.WriteLine(buffer2);
                                endRange2 = EndRange(reader2);
                                buffer2 = reader2.ReadLine();
                            }
                        }
                        while (!endRange1)
                        {
                            writerToSource.WriteLine(buffer1);
                            endRange1 = EndRange(reader1);
                            buffer1 = reader1.ReadLine();
                        }
                        while (!endRange2)
                        {
                            writerToSource.WriteLine(buffer2);
                            endRange2 = EndRange(reader2);
                            buffer2 = reader2.ReadLine();
                        }
                    }
                    endRange1 = false;
                    endRange2 = false;
 
                    while (!endRange1 && buffer1 != null)
                    {
                        writerToSource.WriteLine(buffer1);
                        endRange1 = EndRange(reader1);
                        buffer1 = reader1.ReadLine();
                    }
                    while (!endRange2 && buffer2 != null)
                    {
                        writerToSource.WriteLine(buffer2);
                        endRange2 = EndRange(reader2);
                        buffer2 = reader2.ReadLine();
                    }
                    writerToSource.Close();
                    reader1.Close();
                    reader2.Close();
                    int count = 0;
                    var readerForDG1 = new StreamReader("file1.txt");
                    var readerForDG2 = new StreamReader("file2.txt");
 
                    var buf = readerForDG1.ReadLine();
                    _currentForm.dataGridView2.Rows.Add();
                    while (buf != null)
                    {
                        if (buf != "'")
                        {
                            _currentForm.dataGridView2[count, _currentForm.dataGridView2.RowCount - 1].Value = buf;
                            count++;
                        }
                        buf = readerForDG1.ReadLine();
                    }
                    readerForDG1.Close();
 
                    buf = readerForDG2.ReadLine();
                    count = 0;
                    _currentForm.dataGridView2.Rows.Add();
                    while (buf != null)
                    {
                        if (buf != "'")
                        {
                            _currentForm.dataGridView2[count, _currentForm.dataGridView2.RowCount - 1].Value = buf;
                            count++;
                        }
                        buf = readerForDG2.ReadLine();
                    }
                    readerForDG2.Close();
                }
            }
 
            public bool EndRange(StreamReader reader)
            {
                int temp = reader.Peek();
                if (temp == 39)
                {
                    reader.ReadLine();
                }
 
                return temp == 39;
            }
            #endregion

Решение задачи: «Прокомментировать код как можно подробнее»

textual
Листинг программы
        //Объявляю переменную f1 типа int -- это плохой коммент
        //f1 - переменная для последующего члена ряда Фибоначчи. -- это хороший.  
        //А еще лучше вообще без комментариев:
        var nextFibonacciItem = 1;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы