0

我需要创建一个包含类似

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

然后是一个列表

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

那么应该发生的是 PageNumber 列表中的每个页码应该链接到 PostionAndChecked 列表

我该怎么做呢?

4

3 回答 3

3

AList是一种类型的列表,而不是两种。您可以使用Tuple<int, bool>,也可以使用Dictionary<int, bool>

虽然,由于您只需要为每个数字保留一点,您可能会对使用 a 感到满意Set<int>,只添加true数字。

于 2012-09-28T08:42:18.787 回答
2

使用 a Dictionary<int, bool>,这将存储Key( int) 和对应的Value( bool),而无需自己进行索引。所以对于上面你会有

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 回答