C# c语言中的自定义列表#

C# c语言中的自定义列表#,c#,C#,我需要创建一个包含以下内容的列表 public List<int,bool> PostionAndChecked { get; set; } public List position和checked {get;set;} 然后是一份清单 public List<int> PageNumber { get; set; } 公共列表页码 {get;set;} 因此,应该发生的是,页码列表中的每个页码都应该链接到positionandchecked列表

我需要创建一个包含以下内容的列表

public List<int,bool> PostionAndChecked
{ get; set; }
public List position和checked
{get;set;}
然后是一份清单

public List<int> PageNumber
        { get; set; }
公共列表页码
{get;set;}
因此,应该发生的是,页码列表中的每个页码都应该链接到positionandchecked列表

如何执行此操作?

使用
字典
,这将存储
int
)和相应的
bool
),而无需自行编制索引。因此,对于以上内容,您将

public Dictionary<int, bool> lookup { get; set; } 
...
lookup = new Dictionary<int, bool>();
然后,您可以根据相关索引引用
布尔值,如下所示

bool b = lookup[someIndex];
有关此计算的更多信息,请参阅


我希望这会有所帮助。

列表是一种类型的列表,而不是两种类型的列表。您可以使用
元组
,也可以使用
字典


尽管如此,由于您只需要为每个数字保留一点,您可能会满意地使用
集合
,只添加
数字。

以下内容仅适用于作为说明,尤其是在要检查的页面列表中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;
    }
}
公共类页面检查器
{
公共IDictionary PositionAndChecked{get;set;}
公共页面检查器()
{
设置页面();
}
专用void SetUpPages()
{
PositionAndChecked=新字典();
var pageCount=10;
for(int i=0;i
int在列表中是唯一的吗?然后如何将项目添加到positionandchecked元组?
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;
    }
}