0

b>このC#コードはArrayListを作成します。次に、いくつかの「BoxesOfWidgets」をArrayListに追加し、各ボックス内にウィジェットを追加します。メソッドGetRidOfTheSmallWidgetsは、すべてを削除することを目的としています。

4

2 に答える 2

1

それも試してテストしました

public static ArrayList GetRidOfTheSmallWidgets(ArrayList colBoxesOfWidgets)
{
    BoxOfWidgets[] bow = colBoxesOfWidgets.OfType<BoxOfWidgets>().ToArray();

    for (int i = 0; i < bow.Length; i++)
    {
        Widget[] warr = bow[i].colWidgets.OfType<Widget>().ToArray();
        for (int j = 0; j < warr.Length; j++)
        {
            if (warr[j].length < 20)
                bow[i].colWidgets.Remove(warr[j]);
        }
    }            
    return colBoxesOfWidgets;
}
于 2012-04-27T07:55:00.507 に答える
1
foreach (object objBox in colBoxesOfWidgets)
        {
            BoxOfWidgets box = (BoxOfWidgets)objBox;
            for (int i = 0; i < box.colWidgets.Count; i++ )
            {
                Widget widget = (Widget)box.colWidgets[i];
                if (widget.length < 20f)
                {
                    box.colWidgets.Remove(widget);
                    i--;
                }
            }
        }

}

ジェネリック型を使用できます:

List<BoxOfWidgets> boxs = new List<BoxOfWidgets>();
boxs.Add(new BoxOfWidgets("Cardboard"));
于 2012-04-27T07:57:38.183 に答える