Прокомментировать код как можно подробнее - 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;