2017-08-16 5 views
0

返されたIListから値を抽出し、windows.formsにコンボボックスを移入する際に問題があります。コンボボックスのすべての項目はと表示されます。返されたIListオブジェクトの変換/処理

私はいくつかのテストを行いました。

var retList = Services.Get<IWarehouseInfo>().ExecuteSPArray("sp_executesql", dict); <-- method that returns some values. 
//Tries to extract value from retlist/which is a IList<object[]> collection. 

     var strList = (from o in retList select o.ToString()).ToList(); 
     var strList2 = retList.OfType<string>().ToList(); 
     var strList3 = retList.Cast<string>(); 
     var strList4 = retList.Where(x => x != null).Select(x => x.ToString()).ToList(); //All these seem to result in system object. 

     var bub = strList.ElementAt(2).ToString(); 

     var bob = strList4.ElementAt(2).ToString(); 
     var kupa = strList.ToArray(); 
     var kupo = kupa[2].ToString(); 

これらはすべて有用なものを抽出できません。

+0

あなたの依存性注入が正しくストアドプロシージャを取得し呼び出していますか?あなたがすれば: 'var content = collection.Where(projection => projection!= null);'。実際に何かが返されていることを示していますか?また、あなたは単に 'var content = collection.Select(projection => projection).ToList())'を実行するだけです。 – Greg

+0

抽出すると便利なのは何ですか?あなたの期待は何ですか?実際に何を得ているのですか?エラーはありますか?何のエラー?このコードの目的は何ですか? –

+0

答えが不十分なデータ –

答えて

1

すべてのビープ音ありがとうございました。私の間違いは、私が に返された値がオブジェクトのリストにあると思ったということでした。しかし、結果は IEnumerableだったので、正しいベクトルをチェックしませんでした。

値を抽出し、希望する形式(この場合は文字列)に戻す方法を追加しました。

private static List<string> ToListString(IEnumerable<object[]> inparam) 
    { 
     var custNums = new List<string>(); 

     foreach (var row in inparam) 
     { 
      if (row[0] != null && row[0] != DBNull.Value) 
       custNums.Add(row[0].ToString()); 
     } 

     return custNums; 
    } 
関連する問題