索引超出范围检查器不工作

时间:2016-06-21 11:35:53

标签: c# asp.net

所以我只想将值分配给" originalCOlumName'如果dataStore.DataSourceDef.Rows[columnIndex].ItemArray[3].ToString();中有值,如果它是NULL或超出范围,则不存在等...我想跳过这一部分。 我试过看Preventing Index Out of Range Error

上的另一个例子

但是NULL检查器没有工作也试过

if(string.IsNullOrEmpty(dataStore.DataSourceDef.Rows[columnIndex].ItemArray[3].ToString())

1 个答案:

答案 0 :(得分:0)

您需要检查Rows和ItemArray集合的长度,以确保它们有足够的元素可以索引...记住要获取元素3,数组必须包含4个项目,因为编号从0开始。这看起来像是;

var rowsLength = dataStore.DataSourceDef.Rows.Count;
if (rowsLength >= columnIndex + 1){
    var itemArrayLength = dataStore.DataSourceDef.Rows[columnIndex].ItemArray.Count;
    if (itemArrayLength >= 4){
        var theString = dataStore.DataSourceDef.Rows[columnIndex].ItemArray[3].ToString();
    }
}