nac*_*10f 184 .net c# string list
string tags = "9,3,12,43,2"
List<int> TagIds = tags.Split(',');
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为split方法返回一个字符串[]
请帮忙.
das*_*ght 406
这是一种方法:
List<int> TagIds = tags.Split(',').Select(int.Parse).ToList();
Run Code Online (Sandbox Code Playgroud)
kha*_*d13 22
如果你想包含一些简单的验证并跳过无效值(而不是抛出异常),这里有一些使用TryParse的东西:
string csv = "1,2,3,4,a,5";
int mos = 0;
var intList = csv.Split(',')
.Select(m => { int.TryParse(m, out mos); return mos; })
.Where(m => m != 0)
.ToList();
//returns a list with integers: 1, 2, 3, 4, 5
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个基于Antoine反馈的更新查询.它首先调用TryParse来过滤掉任何坏的值,然后Parse来进行实际的转换.
string csv = "1,2,3,4,a,5,0,3,r,5";
int mos = 0;
var intList = csv.Split(',')
.Where(m => int.TryParse(m, out mos))
.Select(m => int.Parse(m))
.ToList();
//returns a list with integers: 1, 2, 3, 4, 5, 0, 3, 5
Run Code Online (Sandbox Code Playgroud)
Jus*_*ner 14
您可以使用LINQ w/int.Parse()
将转换string[]
为an IEnumerable<int>
,然后将该结果传递给List<T>
构造函数:
var tagIds = new List<int>(tags.Split(',').Select(s => int.Parse(s)));
Run Code Online (Sandbox Code Playgroud)
一点LINQ走了很长的路:
List<int> TagIds = tags.Split(',')
.Select(t => int.Parse(t))
.ToList();
Run Code Online (Sandbox Code Playgroud)
小智 6
如果没有LINQ Query,则可以选择此方法,
string tags = "9,3,12,43,2";
List<string> numbers = nos.Split(',').ToList<string>();
Run Code Online (Sandbox Code Playgroud)
然后您可以将此列表转换为整数类型...
string tags = "9,3,12,43,2"
List<int> TagIds = tags.Split(',').Select(x => x.Trim()).Select(x=> Int32.Parse(x)).ToList();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
239679 次 |
最近记录: |