簡體   English   中英

C#中的自定義列表

[英]Custom list in c#

我需要創建一個包含以下內容的列表

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

然后是清單

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

所以應該發生的是應該將PageNumber列表中的每個頁碼鏈接到PostionAndChecked列表

我該怎么做呢?

List是一種類型的列表,而不是兩種。 您可以使用Tuple<int, bool> ,也可以使用Dictionary<int, bool>

雖然,由於只需要為每個數字保留一點,但您可能對使用Set<int>感到滿意,只添加了true數字。

使用Dictionary<int, bool> ,它將存儲Keyint )和相應的Valuebool ),而無需執行自己的索引。 因此,對於以上內容,您將擁有

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

為此添加新條目

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

然后,您可以基於relevent索引引用Boolean值,如下所示

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM