如何将c#逗号分隔值字符串转换为列表?

时间:2012-06-18 13:12:32

标签: c#

我正在使用C#ASP.NET 4和SQL Server 2008 R2

我从sql server获取了一个对象标量,这是一个包含以逗号分隔的形式值的字符串:

7, 12, ... 1, 65

我想将此对象转换为列表?

我想到了方向:

List<int> myList = new List<int>(new int[] (List)mySqlClass.mySqlQueryReturningAnObject("SELECT CLAUSE");

但这不起作用。

如何将此对象转换为列表?


完整答案:

使用中的答案取决于所选答案(更新前)

List<int> myList = new List<int>(mySqlClass.mySqlQueryReturningAnObject("SELECT CLAUSE").ToString().Split(',').Select(x => Convert.ToInt32(x)).ToList());

6 个答案:

答案 0 :(得分:17)

var intValues = line.Split(',').Select(x => Convert.ToInt32(x)).ToList();

<强>更新

为确保您的代码能够处理1,2,3,,,4,5,6之类的字符串,您可以使用String.Split方法的重载

var intValues = line.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)
                    .Select(x => Convert.ToInt32(x))
                    .ToList();

答案 1 :(得分:5)

对字符串使用.Split()方法。它将返回一个字符串数组。

string yourResult = "1,2,3,4,5";
string[] resultsArray = yourResult.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);

答案 2 :(得分:2)

你试过String.Split吗?

您可以使用以下简单的行拆分字符串:

var myString="1,2,4,5,6";
var numberList=myString.Split(',');

答案 3 :(得分:2)

您可以使用简单的Array.ConvertAll简介,如下所示:

string str = "1,2,3,4,5,7,8,9";
int[]resultInArray = Array.ConvertAll( str.Split(','), item => int.Parse(item));

答案 4 :(得分:2)

        private void TestParse()
        {
            string commaseparatedstring = "3, 5,6,19";

            int parsedvalue = 0;

            List<int> valuesint =
                commaseparatedstring.Split(',').Select(elem => int.TryParse(elem, out parsedvalue) ? parsedvalue : 0).ToList(); 

        }

答案 5 :(得分:0)

您可以尝试将结果分配给变量。

然后将其转换为字符串(如果它不是一个字符串)

然后在逗号上执行字符串拆分并将结果分配给列表。