我如何将string []转换为list <int>?</int>

时间:2011-09-19 01:40:25

标签: c# arrays

如何将字符串数组转换为int列表? (不用我自己的方法逐个转换它们)

从谷歌搜索我看过名为ToList()和ConvetAll()的方法,但我不能输入它们,为什么会这样?

我尝试的是:

new list<int>((int[])s.Split(','));

我收到错误,我无法将string []转换为int [] :(

9 个答案:

答案 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

也许可以使用一些内置功能来解决这个问题,但是不想在它上面花费太多时间。