使用 IList,如何通过逗号分隔的 ID 列表填充它

发布于 2024-08-07 02:47:58 字数 161 浏览 7 评论 0原文

我有一个属性 IList CategoryIDs 和一个包含逗号分隔列表的私有字符串变量,如何优雅地填充 IList 集合?

我问过早些时候,我学习了一种用 .AddRange(...) 填充列表的巧妙方法,但现在我意识到我必须让属性返回 IList,它似乎不支持 .AddRange 方法。

I have a property IList CategoryIDs, and a private string variable that contains a comma separated list, how to elegantly populate the IList collection?

I asked earler and I learn a neat way of populating the List with .AddRange(...), but now I realized I have to have the property return IList which doesn't seem to support the .AddRange method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

可爱咩 2024-08-14 02:47:58
public IList CategoryIDs
{
    get
    {
        return list.Split(',')
                .ToList<string>()
                .ConvertAll<int>(new Converter<string, int>(s => int.Parse(s)));
    }
}
public IList CategoryIDs
{
    get
    {
        return list.Split(',')
                .ToList<string>()
                .ConvertAll<int>(new Converter<string, int>(s => int.Parse(s)));
    }
}
甜尕妞 2024-08-14 02:47:58
// assignment
var ids = "1,2,3,4,5";
obj.CategoryIDs = ids.Split(',');
// or - if you want "add" capabilities
obj.CategoryIDs = new ArrayList(ids.Split(','));

// encapsulation
IList CategoryIDs 
{
    get { return ids.Split(','); }
}
// assignment
var ids = "1,2,3,4,5";
obj.CategoryIDs = ids.Split(',');
// or - if you want "add" capabilities
obj.CategoryIDs = new ArrayList(ids.Split(','));

// encapsulation
IList CategoryIDs 
{
    get { return ids.Split(','); }
}
固执像三岁 2024-08-14 02:47:58

只需创建一个新列表,使用您需要的方法,然后返回该列表即可。由于 List 实现了 IList,因此它将对该属性有效。

Just create a new List, use the methods you need, and return the List. Since List implements IList, it will be valid for that property.

撩心不撩汉 2024-08-14 02:47:58

您也可以重复使用 add :

var IDs = from s in commaSeparatedList.Split(',')
          select int.Parse(s);
foreach(var id in IDs)
    theIList.Add(id);

You can also just use add repeatedly:

var IDs = from s in commaSeparatedList.Split(',')
          select int.Parse(s);
foreach(var id in IDs)
    theIList.Add(id);
〆一缕阳光ご 2024-08-14 02:47:58

试试这个:

public class Class1
{

    private String categoryIDList = "1,2,3";

    public Class1()
    {

        List<Int32> categoryList = new List<Int32>();

        String[] categoryIDs = categoryIDList.Split(",");

        foreach(String category in categoryIDs)
            categoryList.Add(Int32.Parse( category));

    }

}

Try this:

public class Class1
{

    private String categoryIDList = "1,2,3";

    public Class1()
    {

        List<Int32> categoryList = new List<Int32>();

        String[] categoryIDs = categoryIDList.Split(",");

        foreach(String category in categoryIDs)
            categoryList.Add(Int32.Parse( category));

    }

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文