在这篇文章中,我们展示了如何在C#中删除列表元素。
C#列表是相同类型元素的集合。可以通过索引访问元素。
我们可以使用Remove
、RemoveAll
、RemoveAt
、RemoveRange
和Clear方法。
C#列表删除
Remove
方法从列表中删除第一次出现的特定对象。
public bool Remove (T item)
如果删除成功则返回true;否则为假。
var words = new List<string> { "sky", "cup", "new", "war", "wrong", "crypto", "forest", "water", "cup" }; string word = "sky"; removeWord(word); removeWord(word); Console.WriteLine(string.Join(' ', words)); void removeWord(string word) { if (words.Remove(word)) { Console.WriteLine($"{word} removed"); } else { Console.WriteLine($"failed to remove {word}"); } }
在程序中,我们定义了一个字符串列表。我们使用Remove
方法来删除一个单词。
$ dotnet run sky removed failed to remove sky cup new war wrong crypto forest water cup
C#列表移除位置
RemoveAt
删除列表指定索引处的元素。
public void RemoveAt (int index)
这是语法。
var words = new List<string> { "sky", "cup", "new", "war", "wrong", "crypto", "forest", "water", "cup" }; Console.WriteLine(string.Join(' ', words)); words.RemoveAt(0); words.RemoveAt(5); Console.WriteLine(string.Join(' ', words));
在程序中,我们使用RemoveAt
删除了两个元素。
words.RemoveAt(0); words.RemoveAt(5);
第一个和第六个元素被移除。
$ dotnet run sky cup new war wrong crypto forest water cup cup new war wrong crypto water cup
C#列表删除所有
RemoveAll
方法删除所有符合指定谓词定义的条件的元素。
public int RemoveAll (Predicate<T> match);
它返回从列表中删除的元素数。
var words = new List<string> { "sky", "cup", "new", "war", "wrong", "crypto", "forest", "water", "cup" }; Console.WriteLine(string.Join(' ', words)); int n = words.RemoveAll(e => e.StartsWith('w')); Console.WriteLine($"{n} elements removed"); Console.WriteLine(string.Join(' ', words));
我们删除所有以“w”开头的单词。然后我们打印删除的单词数。
int n = words.RemoveAll(e => e.StartsWith('w'));
我们将lambda表达式形式的谓词传递给RemoveAll
方法。
$ dotnet run sky cup new war wrong crypto forest water cup 3 elements removed sky cup new crypto forest cup
C#列表删除范围
RemoveRange
方法从列表中删除一系列元素。
public void RemoveRange(int index, int count)
参数为要移除的元素范围的起始索引和要移除的元素个数。
var words = new List<string> { "sky", "cup", "new", "war", "wrong", "crypto", "forest", "water", "cup" }; Console.WriteLine(string.Join(' ', words)); words.RemoveRange(0, 4); Console.WriteLine(string.Join(' ', words));
在示例中,我们从头开始删除四个元素。
$ dotnet run sky cup new war wrong crypto forest water cup wrong crypto forest water cup
C#列表清除
Clear
方法从列表中删除所有元素。
var words = new List<string> { "sky", "cup", "new", "war", "wrong", "crypto", "forest", "water", "cup" }; Console.WriteLine(words.Count); words.Clear(); Console.WriteLine(words.Count);
程序用Clear
删除所有单词。我们使用Count
检查元素的数量。
$ dotnet run 9 0
在本文中,我们展示了如何在C#中删除列表元素。
列出所有C#教程。