我需要创建一个包含类似
的列表public List<int,bool> PostionAndChecked
{ get; set; }
然后是一个列表
public List<int> PageNumber
{ get; set; }
那么应该发生的事情是PageNumber列表中的每个页码都应该链接到PostionAndChecked列表
我该怎么做?
答案 0 :(得分:3)
List
是一种类型的列表,而不是两种类型。您可以使用Tuple<int, bool>
,也可以使用Dictionary<int, bool>
。
虽然,由于您只需要为每个号码保留一点,但您可能会对使用Set<int>
感到满意,只会添加true
个数字。
答案 1 :(得分:2)
使用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];
有关此calss的更多信息,请参阅here。
我希望这会有所帮助。
答案 2 :(得分: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;
}
}