2017-04-07 59 views
0
IQueryable<string> ScannedBarcodes = XYZDb.tblScannedBarcodes 
              .Where(i => i.PullNo == lblPullNo.Text) 
              .Select(i => i.Barcode); 

結果視圖顯示了類似檢索IQueryable的逗號分隔值,並添加到列表

"678765,090909,243454,675434" 

現在我想所有的逗號分隔值添加到列表。我的代碼

休息低於:

foreach (var item in ScannedBarcodes) 
{ 
    List<string> _barcodes = new List<string>(); 
    _barcodes.Add(item); 
} 

如何分割呢?

在此先感謝

+0

那麼簡單的'.ToList()'呢? – ChriPf

回答

1

使用

_barcodes.AddRange(item.Split(',')); 
2

分裂可以使用LINQ如下進行。

var _barcodes = 
    ScannedBarcodes.SelectMany(iString => iString.Split(new char[]{ ','})) 
        .ToList(); 
+0

這並不是說Barcode具有屬性類型的字符串,但即使如此,String.Split需要一個字符數組,而不是一個字符串,並且String.Split在IQueryable上不起作用,所以您應該首先執行AsEnumerable() –

+0

barcode is一個字符串類型的屬性 – Arka

0

有沒有一個字符串用逗號 - 這僅僅是調試器顯示。該IQueryable已經是值的枚舉列表.....

IQueryable<string> ScannedBarcodes = XYZDb.tblScannedBarcodes 
              .Where(i => i.PullNo == lblPullNo.Text) 
              .Select(i => i.Barcode); 

List<string> _barcodes = new List<string>(); 
_barcodes.AddRange(ScannedBarcodes); 

真的沒有需要循環的價值觀 - 您只需建立List<string>,然後在一次調用整個IQueryable集合添加到它.AddRange() ...

+0

該數據庫有一個像這樣的值**「678765,090909,243454,675434」** – Arka

+0

而且我需要顯示sepapartely – Arka