简体   繁体   English

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

[英]Convert string of data points separated by comma to List<int> in C#

How to get List<int> value from string value separated by comma like below 如何从以逗号分隔的字符串值中获取List<int>值,如下所示

string s={ 23,234,0,12,43,6,34,45,7 }

In this case: 在这种情况下:

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

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

        foreach (String sout in s)
        {
            li.Add(Convert.ToInt32(sout));
        }

but getting error like "Input string was not in a correct format." 但出现诸如“输入字符串的格式不正确”之类的错误。 @ "Input string was not in a correct format." @“输入字符串的格式不正确。”

Try this 尝试这个

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);
        }
var myString = "23,234,0,12,43,6,34,45,7";
string[] myStrings = myString.Split(',');
var myList = new List<string>();
myList = myStrings.ToList();
var myListInt = new List<int>();
myListInt = myList.Select(s => Convert.ToInt32(s)).ToList();

Or even you can use Regex 甚至可以使用正则表达式

var myString = "23,234,0,12,43,6,34,45,7";
var matches = Regex.Matches(myString, @"[^,]+");

You can iterate matches in the foreach statement. 您可以在foreach语句中迭代matches

This works like a charm... 这就像一个魅力...

var str = "23,234,0,12,43,6,34,45,7";
List<Int32> integers = new List<String>(str.Split(',')).ConvertAll(s => Convert.ToInt32(s));

Pls mark it as answer if it helps.. 请帮忙将其标记为答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM