При использовании.NET 3.5 или лучше LINQ является ответом этому:
testList.Where(t => t.value3 == 3);
testList.Where(t => t.value3 == 2 && t.value1 == "Value1 - 2");
, не используя.NET 3.5 затем можно просто циклично выполниться через и выбрать тех, Вы хотите.
Обычно мы создаем специальные окна (локальные для локального доступа или учетную запись домена для вещей, которые должны проходить аутентификацию в сети) учетные записи для запуска пользовательских служб. Таким образом, мы можем ограничить и заблокировать разрешения, чтобы убедиться, что он имеет доступ только к тому, что нам нужно. Вы также можете увидеть, какие пользователи являются виновниками или потребляют ресурсы с помощью мониторинга на общем сервере.
Что касается встроенных учетных записей ...
Локальная система: Встроенная учетная запись пользователя LocalSystem имеет высокий уровень прав доступа; он входит в группу администраторов.
Сетевая служба: У встроенной учетной записи пользователя сетевой службы меньше прав доступа в системе, чем у учетной записи пользователя LocalSystem, но учетная запись пользователя сетевой службы по-прежнему может взаимодействовать по всей сети с учетными данными учетной записи компьютера.
Локальная служба: У встроенной учетной записи пользователя локальной службы меньше прав доступа на компьютере, чем у учетной записи пользователя сетевой службы, и эти права пользователя ограничены локальным компьютером. Используйте учетную запись пользователя локальной службы, если рабочий процесс не требует доступа за пределами сервера, на котором он работает. Источник (и): Microsoft Technet