string tags = \"9,3,12,43,2\" List TagIds = tags.Split(\',\');
This doesn\'t work cause the split method returns a string[]
You can use LINQ w/ int.Parse() to convert the string[] to an IEnumerable and then pass that result to the List constructor:
int.Parse()
string[]
IEnumerable
List
var tagIds = new List(tags.Split(',').Select(s => int.Parse(s)));