C# 将逗号分隔的数据点字符串转换为列表<;int>;在C中#

C# 将逗号分隔的数据点字符串转换为列表<;int>;在C中#,c#,C#,如何从下面用逗号分隔的字符串值中获取列表值 string s={ 23,234,0,12,43,6,34,45,7 } 在这种情况下: string[] s = data.Split(','); List<int32> li = new List<int32>(); foreach (String sout in s) { li.Add(Convert.ToInt32(sout));

如何从下面用逗号分隔的字符串值中获取
列表

string s={ 23,234,0,12,43,6,34,45,7 }
在这种情况下:

      string[] s = data.Split(',');

      List<int32> li = new List<int32>();

        foreach (String sout in s)
        {
            li.Add(Convert.ToInt32(sout));
        }
string[]s=data.Split(',');
List li=新列表();
foreach(以s表示的字符串sout)
{
li.添加(转换为32(sout));
}
但是获取错误,如“输入字符串的格式不正确”。@“输入字符串的格式不正确。”

试试这个

string s="23,234,0,12,43,6,34,45,7";

string[] s = data.Split(',');

List<int32> li = new List<int32>();
        foreach (String sout in s)
        {
            int i;
            if (Int32.TryParse(sout, out i))
                li.Add(i);
        }
string s=“23234,0,12,43,6,34,45,7”;
字符串[]s=data.Split(',');
List li=新列表();
foreach(以s表示的字符串sout)
{
int i;
if(Int32.TryParse(sout,out i))
li.添加(i);
}

您可以在
foreach
语句中迭代
匹配项

var str = "23,234,0,12,43,6,34,45,7";
List<Int32> integers = new List<String>(str.Split(',')).ConvertAll(s => Convert.ToInt32(s));
var str=“23234,0,12,43,6,34,45,7”;
列表整数=新列表(str.Split(',).ConvertAll(s=>Convert.ToInt32(s));

如果有帮助,请将其标记为答案。

您的数据是什么样子的?21230,3200,7,9,0,3,7,0,35,8,21230,6,0,60,8,71102,2,0,37,4,21230,3200。。。像这样,我有540个数据点。请解释一下,如果你没有激发异常,你怎么能告诉程序它应该如何工作?除非有意,否则不要像新的“出错后继续下一步”场景那样处理异常。实际上,您的代码工作正常,但如果我使用文本文件中的其他字符串数据,则会得到相同的错误字符串data=file.ReadAllText(@“C:\Users\dell e6400\Desktop\zzz.txt”);字符串[]myStrings=data.Split(',');var myList=新列表();myList=myStrings.ToList();var mylist=new List();myList=myList.Select(s=>Convert.ToInt32(s)).ToList();它可以工作,但可以试用=>string data=File.ReadAllText(@“C:\Users\dell e6400\Desktop\zzz.txt”);列表整数=新列表(data.Split(',).ConvertAll(s=>Convert.ToInt32(s));
var myString = "23,234,0,12,43,6,34,45,7";
var matches = Regex.Matches(myString, @"[^,]+");
var str = "23,234,0,12,43,6,34,45,7";
List<Int32> integers = new List<String>(str.Split(',')).ConvertAll(s => Convert.ToInt32(s));