Похоже, вы беспокоитесь об эффективности, прежде чем убедитесь, что вам нужно , чтобы беспокоиться об этом.
Я бы выбрал следующий подход:
- Загрузка файла XML в память с помощью LINQ to XML (как простейшего XML API в .NET)
- Преобразование результатов в список целых чисел (или любого другого типа оценки)
- Теперь вы можете легко узнать общее количество
- Используйте
Count
с предикатом, чтобы узнать, сколько баллов меньше вашего "целевого" балла
Если вам нужночтобы проверить несколько баллов, вам, очевидно, только необходимо повторить последний шаг.
My first попытка оптимизировать это (для нескольких проверок) будет состоять в сортировке списка,так что вы можете просто выполнить бинарный поиск, чтобы найти ранг каждой оценки.Я бы только пошел , что далеко после бенчмаркинга.