Удалить первый элемент из SortedSet C#
У меня есть SortedSet
пользовательских объектов, и я хочу удалить первый элемент, который я беру с First()
функция от SortedSet
коллекция. Проблема в том, что это не работает, и я не знаю почему.
Любая помощь?
[править] Мой код
URL u = Queue.First(); Queue.Remove(и);
где URL - это пользовательский класс
7 ответов
First()
Метод работает правильно. Но вы удалите First()
отсортированный товар.
SortedSet<string> set = new SortedSet<string>();
set.Add("b");
set.Add("c");
set.Add("a");
Console.WriteLine(set.First()); // Display 'A'
set.Remove(set.First()); // Remove 'A'
Console.WriteLine(set.First()); // Display 'B'
Это довольно просто, например,
SortedSet<string> set = new SortedSet<string>();
set.Add("Hi");
var f = set.First();
set.Remove(f);
Использовать SortedSet.Remove() См. Эту ссылку для получения дополнительной информации
Смотрите эту ссылку для некоторых хороших примеров сортировки
First() ничего не удаляет. Вы не вытаскиваете это из стека. Если вы хотите удалить его после того, как вы его возьмете.
var coll =....your sorted set
var p = coll.First();
coll.remove(p)
Рабочий пример использования Консольного приложения
static void Main(string[] args)
{
SortedSet<string> set = new SortedSet<string>();
set.Add("One");
set.Add("Two");
set.Add("Three");
string first = set.First();
set.Remove(first);
foreach (var s in set)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
Вы не можете удалить элемент, вызвав First(). Метод расширения First () просто возвращает ссылку на первый элемент. Для того, чтобы удалить предмет, нужно позвонить Удалить.