我得到索引在数组的边界之外,但我想用它做点什么

本文关键字:什么 索引 数组 边界 | 更新日期: 2023-09-27 17:56:51

string[] filefile = dr["Path_XBRL"].ToString().Split('''', '-');  
if (filefile[11] == null)
  { 
     string yes = "oke";
  }

我想处理该值,但我得到 Index 超出了数组的范围。那我该怎么办?

我得到索引在数组的边界之外,但我想用它做点什么

string[] filefile = dr["Path_XBRL"].ToString().Split('''', '-');  

如果检查此语句,您将看到数组包含的元素少于 11 个。如果您想检查,您可以执行以下操作;

if (filefile.Length >11 && string.IsNullOrEmpty(filefile[11]))
{ 
    string yes = "oke";
}

值不存在(即数组中的那个点没有任何东西,事实上,数组没有跨越该长度),这就是重点。您可能忽略了数组是基于零索引的,并且,如果数组部分定义良好,您可能真的想要filefile[10]

您还可以使用 ElementAtOrDefault 来避免索引外异常

if (filefile.ElementAtOrDefault(11) == null)
{}