0

次のようなものを保持するリストを作成する必要があります

public List<int,bool> PostionAndChecked
{ get; set; }

そしてリスト

public List<int> PageNumber
        { get; set; }

したがって、PageNumber リストの各ページ番号は、PosionAndChecked リストにリンクする必要があります。

どうすればいいですか?

4

3 に答える 3

3

AListは、2 種類ではなく 1 種類のリストです。Tuple<int, bool>または を使用できますDictionary<int, bool>

ただし、数値ごとにビットを保持する必要があるだけなので、 を使用しSet<int>て数値のみを追加するだけで満足する場合がありtrueます。

于 2012-09-28T08:42:18.787 に答える
2

を使用します。これにより、 ( ) と対応する( )Dictionary<int, bool>が格納されます。独自のインデックスを作成する必要はありません。したがって、上記の場合はKeyintValuebool

public Dictionary<int, bool> lookup { get; set; } 
...
lookup = new Dictionary<int, bool>();

このように新しいエントリを追加します

lookup.Add(0, true);
lookup.Add(1, false);
...

Boolean次に、次のように関連インデックスに基づいて値を参照できます。

bool b = lookup[someIndex];

このカルスの詳細については、こちらを参照してください。

これが役立つことを願っています。

于 2012-09-28T08:42:13.520 に答える
2

以下は、特にチェックするページのリストで int が一意である場合の例としてのみ適しています。うまくいけば、目的に合わせてこれがどのように変更されるかを確認できるはずです。

ページ番号を格納する別のリストが必要な理由は私には明らかではありません。なぜそれが必要だと思うのか説明していただけますか?

public class PageChecker
{
    public IDictionary<int, bool> PositionAndChecked { get; set; }

    public PageChecker()
    {
        SetUpPages();
    }

    private void SetUpPages()
    {
        PositionAndChecked = new Dictionary<int, bool>();
        var pageCount = 10;
        for (int i = 0; i < pageCount; i++)
        {
            PositionAndChecked.Add(i, false);
        }
    }

    public void CheckPage(int pageNo)
    {
        PositionAndChecked[pageNo] = true;
    }
}
于 2012-09-28T08:42:38.180 に答える