从IQueryable中检索以逗号分隔的值并添加到列表中

时间:2017-04-07 06:19:38

标签: c# linq list iqueryable

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

结果视图显示类似

的内容
"678765,090909,243454,675434"

现在我想将所有以逗号分隔的值添加到列表中。

我的其余代码如下:

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

如何拆分?

提前致谢

3 个答案:

答案 0 :(得分:1)

可以使用Linq进行拆分,如下所示。

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

答案 1 :(得分:0)

使用

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

答案 2 :(得分: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()集合添加到其中...