如何将字符串数组转换为int列表? (不用我自己的方法逐个转换它们)
从谷歌搜索我看过名为ToList()和ConvetAll()的方法,但我不能输入它们,为什么会这样?
我尝试的是:
new list<int>((int[])s.Split(','));
我收到错误,我无法将string []转换为int [] :(
答案 0 :(得分:33)
这里涉及两个步骤。第一种是将字符串转换为整数,然后将数组转换为列表。如果您可以使用LINQ,最简单的方法是使用:
stringArray.Select(x => Int32.Parse(x)).ToList();
答案 1 :(得分:13)
从代码中获取提示:
var listOfInts = s.Split(',').Select(Int32.Parse).ToList();
答案 2 :(得分:1)
public List<int > M1()
{
string[] s =(file path));
Array.Sort(s);
var c = new List<int>();
foreach(string x in s)
{
c.Add(Convert.ToInt32(x));
}
return c;
}
答案 3 :(得分:1)
使用以下内容:
var list = s.Select(Int32.Parse).ToList();
答案 4 :(得分:0)
假设values
是您的字符串列表:
int[] ints = new int[values.Count];
int counter = 0;
foreach (string s in values) {
ints[counter++] = int.Parse(s);
}
不要过度复杂化自己:)
答案 5 :(得分:0)
var s = "1,2,3,4,5,6,7,8,9";
var result = s.Split(',').Select(Convert.ToInt32).ToList();
答案 6 :(得分:0)
尝试使用
int x = 0;
var intList= stringList.Where(str => int.TryParse(str, out x)).Select(str => x).ToList();
答案 7 :(得分:0)
尝试一下:
var selectedEditionIds = input.SelectedEditionIds.Split(",").ToArray()
.Where(i => !string.IsNullOrWhiteSpace(i)
&& int.TryParse(i,out int validNumber))
.Select(x=>int.Parse(x)).ToList();
答案 8 :(得分:0)
对于VB.NET,我必须循环执行
Dim myList As New List(Of Integer)
For Each item As String In s.Split(",")
myList.Add(Val(item))
Next
也许可以使用一些内置功能来解决这个问题,但是不想在它上面花费太多时间。