如何将ac#逗号分隔值字符串转换为列表?
我正在使用C#ASP.NET 4和SQL Server 2008 R2
我从sql server获取了一个对象标量,这是一个包含以逗号分隔的forms值的字符串:
7, 12, ... 1, 65
我想将此对象转换为列表?
我想到了方向:
List myList = new List(new int[] (List)mySqlClass.mySqlQueryReturningAnObject("SELECT CLAUSE");
但这不会起作用。
如何将此对象转换为列表?
完整答案:
使用中的答案是根据所选答案(更新前)
List myList = new List(mySqlClass.mySqlQueryReturningAnObject("SELECT CLAUSE").ToString().Split(',').Select(x => Convert.ToInt32(x)).ToList());
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();
在字符串上使用.Split()方法。 它将返回一个字符串数组。
string yourResult = "1,2,3,4,5"; string[] resultsArray = yourResult.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
你尝试过String.Split吗?
您可以使用以下简单的行拆分字符串:
var myString="1,2,4,5,6"; var numberList=myString.Split(',');
您可以使用简单的Array.ConvertAll instuction,如下所示:
string str = "1,2,3,4,5,7,8,9"; int[]resultInArray = Array.ConvertAll( str.Split(','), item => int.Parse(item));
private void TestParse() { string commaseparatedstring = "3, 5,6,19"; int parsedvalue = 0; List valuesint = commaseparatedstring.Split(',').Select(elem => int.TryParse(elem, out parsedvalue) ? parsedvalue : 0).ToList(); }
您可以尝试将结果分配给变量。
然后将其转换为字符串(如果它还没有)
然后在逗号上执行字符串拆分并将结果分配给列表。