1

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());

4

6 に答える 6

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();
于 2012-06-18T13:14:45.567 に答える
5

文字列に対して .Split() メソッドを使用します。文字列の配列を返します。

string yourResult = "1,2,3,4,5";
string[] resultsArray = yourResult.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
于 2012-06-18T13:13:51.350 に答える
2

次のように、単純なArray.ConvertAll命令を使用できます。

string str = "1,2,3,4,5,7,8,9";
int[]resultInArray = Array.ConvertAll( str.Split(','), item => int.Parse(item));
于 2012-06-18T13:17:21.463 に答える
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(); 

        }
于 2012-06-18T13:28:31.887 に答える
2

String.Splitを試しましたか?

次のような単純な行で文字列を分割できます。

var myString="1,2,4,5,6";
var numberList=myString.Split(',');
于 2012-06-18T13:14:52.497 に答える
0

結果を変数に代入してみることができます。

次に、それを文字列に変換します(まだ文字列でない場合)

次に、コンマで文字列を分割し、結果をリストに割り当てます。

于 2012-06-18T13:15:42.153 に答える