我有一个SortedSet
自定义对象,我想删除第一个元素,我将它与集合中的First()
函数一起使用SortedSet
。问题是这不起作用,我不知道为什么。
有什么帮助吗?
[编辑] 我的代码
URL u = Queue.First(); Queue.Remove(u);
其中 URL 是自定义类
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);
First() 不会删除任何内容。您不会将其从堆栈中弹出。如果你想在你拿走它之后删除它。
var coll =....your sorted set
var p = coll.First();
coll.remove(p)
您可以使用SortedSet<T>.Remove
方法和Enumerable.First<TSource>
方法
从 中删除指定的项目
SortedSet<T>
。
和
返回序列的第一个元素。
SortedSet<string> s = new SortedSet<string>();
...
s.Remove(s.First());
使用 SortedSet.Remove() 有关更多信息,请参阅此链接
使用控制台应用程序的工作示例
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() 扩展方法只返回对第一个元素的引用。为了删除项目,您需要调用Remove。