Метод Remove
Метод Remove класса
LinkedList<T>
имеет две перегрузки. Remove по узлу
удаляет его из списка и возвращает void.
Remove по значению ищет первое совпадение
и возвращает true или false.
Синтаксис
list.Remove(node);
bool ok = list.Remove(value);
Пример
Давайте удалим узел по ссылке:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
LinkedList<int> nums = new LinkedList<int>();
nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);
LinkedListNode<int> node = nums.Find(2);
nums.Remove(node);
Console.WriteLine(nums.Count);
}
}
Результат выполнения кода:
2
Пример
Давайте удалим значение через перегрузку с bool:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
LinkedList<int> nums = new LinkedList<int>();
nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);
Console.WriteLine(nums.Remove(2));
Console.WriteLine(nums.First.Next.Value);
}
}
Результат выполнения кода:
True
3
Пример
Давайте попробуем удалить отсутствующее значение:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
LinkedList<string> items = new LinkedList<string>();
items.AddLast("a");
items.AddLast("b");
Console.WriteLine(items.Remove("d"));
}
}
Результат выполнения кода:
False
Смотрите также
-
метод
RemoveFirst,
который снимает первый узел -
метод
RemoveLast,
который снимает последний узел -
метод
Find,
который находит узел для Remove -
метод
Remove,
который удаляет элемент из списка