В таком коде:
private static int[] Split(List<int> list)
{
const int splitter = 0;
const int startstop = 9;
var result = new List<int>();
var start = true;
for (var pos = 0; pos < list.Count; pos++)
{
if (start)
{
if (list[pos] == startstop)
{
start = false;
}
continue;
}
start = true;
var k = 0;
var index = list.FindIndex(pos, i => i == startstop);
if (index + 1 < list.Count)
{
if (list[index + 1] != splitter)
{
start = false;
continue;
}
else
{
k = 2;
}
}
result.Add(index + k);
}
return result.ToArray();
}
Предлагает убрать else:
ReSharper 2022.2.2
Microsoft Visual Studio Professional 2022 (64-bit)
Version 17.3.3
Здравствуйте, hard.disk, Вы писали:
HD>Предлагает убрать else:
HD>Image: ResharperRedundantElse.png
Потому что он избыточный. Зачем добавлять лишнюю вложенность?
Просто напиши код без else
См. "Return Early Pattern"
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, hard.disk, Вы писали:
HD>>Предлагает убрать else:
HD>>Image: ResharperRedundantElse.png
Б>Потому что он избыточный. Зачем добавлять лишнюю вложенность?
Б>Просто напиши код без else
Если else оставить то k будет равно 0, а если послушать ReSharper, то будет равно 2.
Здравствуйте, hard.disk, Вы писали:
Предлагается убрать else, а не код из ветки else.
Т.е. надо написать так:
if (list[index + 1] != splitter)
{
start = false;
continue;
}
k = 2;
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, hard.disk, Вы писали:
Б>Предлагается убрать else, а не код из ветки else.
Б>Т.е. надо написать так:
Б>Б> if (list[index + 1] != splitter)
Б> {
Б> start = false;
Б> continue;
Б> }
Б> k = 2;
Б>
Блин... выспать нужно