使用列表扩展如何检查值是否存在并且我没有超出范围
本文关键字:存在 范围 是否 扩展 列表 何检查 检查 | 更新日期: 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;