C# 使用IList,如何通过以逗号分隔的ID';s

C# 使用IList,如何通过以逗号分隔的ID';s,c#,ilist,C#,Ilist,我有一个属性IList CategoryIDs和一个包含逗号分隔列表的私有字符串变量,如何优雅地填充IList集合 我问earler,我学习了一种用.AddRange(…)填充列表的简洁方法,但现在我意识到我必须让属性return IList,它似乎不支持.AddRange方法。只需创建一个新列表,使用所需的方法,然后返回列表。由于列表实现了IList,因此它对该属性有效。公共IList类别ID public IList CategoryIDs { get { r

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


我问earler,我学习了一种用.AddRange(…)填充列表的简洁方法,但现在我意识到我必须让属性return IList,它似乎不支持.AddRange方法。

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

公共IList类别ID
public IList CategoryIDs
{
    get
    {
        return list.Split(',')
                .ToList<string>()
                .ConvertAll<int>(new Converter<string, int>(s => int.Parse(s)));
    }
}
{ 得到 { 返回列表。拆分(“,”) 托利斯先生() .ConvertAll(新的转换器=>int.Parse); } }
//分配 var id=“1,2,3,4,5”; obj.CategoryIDs=id.Split(','); //或者-如果您想要“添加”功能 obj.CategoryIDs=新的ArrayList(id.Split(','); //封装 IList分类 { 获取{返回id.Split(',);} }
您也可以重复使用“添加”:

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

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

    }

}
公共类1
{
私有字符串categoryIDList=“1,2,3”;
公共类别1()
{
List categoryList=新列表();
字符串[]categoryIDs=categoryIDList.Split(“,”);
foreach(CategoryId中的字符串类别)
categoryList.Add(Int32.Parse(category));
}
}
但我需要的是IList而不是字符串,所以.ToList();不行吗?
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));

    }

}