arraylist IndexOf在asp.net/c#中做了什么?

时间:2011-03-12 18:30:09

标签: asp.net arraylist

我无法理解以下代码:

if (IsPostBack)
    {
        int CheckBoxIndex;
        ArrayList CheckBoxArray;
        bool CheckAllWasChecked=false;
        CheckBox chkAll = (CheckBox)GridView1.HeaderRow.Cells[0].FindControl("chkAll"); //chkAll is the id for checkbox on gridview
        string checkAllIndex = "chkAll-" + GridView1.PageIndex;
        if (chkAll.Checked)
        {                
            if (CheckBoxArray.IndexOf(checkAllIndex) == -1)
            {
                CheckBoxArray.Add(checkAllIndex);
            }
        }
        else 
        {
            if (CheckBoxArray.IndexOf(checkAllIndex) != -1)
            {
                CheckBoxArray.Remove(checkAllIndex);
                CheckAllWasChecked = true;
            }
        }

sampleArrayList.indexof(objectname)何时返回-1? 我不明白吗?

请帮帮我!
感谢您的期待

3 个答案:

答案 0 :(得分:2)

当sampleArrayList没有objectname元素时,sampleArrayList.IndexOf(cb1)将返回-1

答案 1 :(得分:1)

IndexOf返回ArrayList中对象的索引(位置),如果找到则返回,如果不在ArrayList中,则返回-1。

答案 2 :(得分:1)

IndexOf(...)返回colleciont中搜索元素的位置(例如sampleArrayList)。如果您的列表中不包含您要搜索的元素,则返回“-1”

在你的例子中

if(sampleArrayList.IndexOf(cb1)== -1) {

做某事; }

如果你没有“cb1”,那么“做某事”。