string tags = "9,3,12,43,2"

List<int> TagIds = tags.Split(',');

这行不通,因为split方法返回一个字符串[]


当前回答

这很简单。首先拆分字符串。 修改逗号(,)后的空格。 然后使用系统定义的ToList()

string inputText = "text1, text2"

删除','后的空格,并将此逗号分隔的文本转换为List

List<string> resultList = (inputText.Split(',')).Select(t => t).ToList();

其他回答

这很简单。首先拆分字符串。 修改逗号(,)后的空格。 然后使用系统定义的ToList()

string inputText = "text1, text2"

删除','后的空格,并将此逗号分隔的文本转换为List

List<string> resultList = (inputText.Split(',')).Select(t => t).ToList();

你可以使用LINQ w/ int. parse()将字符串[]转换为IEnumerable<int>,然后将结果传递给List<T>构造函数:

var tagIds = new List<int>(tags.Split(',').Select(s => int.Parse(s)));

我偶然发现了这个,我只是想分享我自己的解决方案没有linq。这是一种原始方法。非整数值也不会被添加到列表中。

List<int> TagIds = new List<int>();
string[] split = tags.Split(',');
foreach (string item in split)
{
    int val = 0;
    if (int.TryParse(item, out val) == true)
    {
        TagIds.Add(val);
    }
}

希望这能有所帮助。

这里有一种方法:

List<int> TagIds = tags.Split(',').Select(int.Parse).ToList();
string tags = "9,3,12,43,2";
List<int> TagIds = tags.Split(',').Select(int.Parse).ToList();