2017-08-16 91 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; 
    } 
相關問題