在这篇文章中,我们展示了如何在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#教程。
