Надеюсь выяснить, есть ли простой способ проверить, содержит ли список только определенные значения списка.Только список C# содержит
Например, если у меня есть список int, который может случайным образом содержать отдельные ints 1-10 (т.е. 1,3,7 или 2,3,4,6,8,9), и я хочу проверить, включен ли список только содержит int 1 и/или 5. 1 или 5 или 1,5 возвращает true, а что-то еще возвращает false.
Это на самом деле проект MVC и список строк. Исходя из условий, я строю список строк и хочу проверить, присутствует ли в списке 1 или оба из двух определенных строк, но нет других строк.
Теперь я беру список и проверяю, содержит ли он каждую из двух строк и удаляет их, если они существуют. Затем я могу подсчитать список, и если> 0, я знаю, что 1 или обе строки не являются единственными значениями в списке. Это кажется очень хакивым, и я предполагаю, что есть лучший способ сделать это. Также в будущем, если бы мои две строки были вместо другого динамического списка строк, было бы неплохо иметь простой метод, вместо того чтобы иметь перед собой каждую строку обоих списков, чтобы удалить их из одного, если они существуют в другом, прежде чем я смогу подсчитать список, чтобы получить мне нужно.
Надеюсь, что что-то похожее на .Contains (T Item), как .OnlyContains (T Item или IEnumerable), но пока не нашел ничего подобного.
Спасибо.
Если проверить только 1 и 5, то почему бы список 1, 3, 7 дают верно? Он не содержит только 1 или 5. – Guffa
Так как ваши списки содержат только отдельные 'int', вы можете использовать' SortedSet 'вместо' List '. Хорошо, что «наборы» имеют такие методы, как «IsSubsetOf» и «IsSupersetOf». –
Ваше право Я написал примеры совершенно неправильно, исправил их в сообщении сейчас. –