使用列表扩展如何检查值是否存在并且我没有超出范围

本文关键字:存在 范围 是否 扩展 列表 何检查 检查 | 更新日期: 2023-09-27 18:37:28

我有一些字符串列表:

List<String> text =  new List<String>();

在某些时候,我想使用索引访问列表中的一个项目。

例如:

 string str = text[5];

我的问题是在列表扩展的帮助下,我可以检查特定项目中是否存在值并且我没有超出范围吗?如果索引超出范围,我想获取空字符串,否则我想从列表中获取项目。

使用列表扩展如何检查值是否存在并且我没有超出范围

你在寻找吗

  string str = text.ElementAtOrDefault(5);

所以str包含一个值,如果索引(5)超出范围,则包含null。如果您想要其他(不是null)默认值

  string str = text.ElementAtOrDefault(5) ?? "MyDefaultValue";
您可以使用

LINQ 的 ElementAtOrDefault 方法执行此操作:

string str = text.ElementAtOrDefault(5) ?? string.Empty;

这将返回第 5 个位置的元素或 List 类型的默认值。
由于默认值 string 为 null,因此请使用 null 合并运算符 ( ?? ) 来接收空字符串。

使用 linq 扩展方法ElementAtOrDefault()

此方法返回序列中指定索引处的元素,如果索引超出范围,则返回默认值。

string str = text.ElementAtOrDefault(5);

如果你想要一个空字符串而不是null

string str = text.ElementAtOrDefault(5) ?? string.Empty;