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