Как правильно удалить диапазон элементов зная начало и конец диапазона в списке?

Есть такой код: Необходимо удалить диапазон элементов по индексу, скажем с 5-го по 8-й включительно.

class DataRow
{

    public string Time { get; set; }

    public Int32 Temperature { get; set; }

    public DataRow(string time , Int32 temperature)
    {
        Time = time;
        Temperature = temperature;
    }

    public override string ToString() {

        return $"{Time} {Temperature}";

    }

}

List<DataRow> listData = new List<DataRow>();

listData.Add(new DataRow("10:00:00", 0));
listData.Add(new DataRow("10:00:01", 1));
listData.Add(new DataRow("10:00:02", 2));
listData.Add(new DataRow("10:00:03", 3));
listData.Add(new DataRow("10:00:04", 4));
listData.Add(new DataRow("10:00:05", 5));
listData.Add(new DataRow("10:00:06", 6));
listData.Add(new DataRow("10:00:07", 7));
listData.Add(new DataRow("10:00:08", 8));
listData.Add(new DataRow("10:00:09", 9));
listData.Add(new DataRow("10:00:10", 10));
listData.Add(new DataRow("10:00:11", 11));

Ответы (2 шт):

Автор решения: Alexander Petrov

Серьёзно? Задача на вычитание двух чисел вызвала затруднения?

var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
Console.WriteLine(string.Join(", ", list));

// Диапазон: 8..11
int start = 8;
int end = 11;
int count = end - start;

list.RemoveRange(start, count);

Console.WriteLine(string.Join(", ", list));
→ Ссылка
Автор решения: tym32167

Просто ещё один способ, может кому пригодится

var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int start = 5, end = 8;
var result = list.Where((i, ind) => ind < start || ind > end).ToList();
Console.WriteLine(String.Join(',', result));

Вывод

1,2,3,4,5,10,11,12
→ Ссылка