如何在 foreach 循环中 return 逗号分隔值

how to return comma seperated values from within foreach loop

这就是我想要实现的目标:

var result = (string)null;
foreach (var tagId in MultipleTags)
            { 
              result = string.Join(",", db.Tags.Where(t => t.TagId == tid).Select(e => e.TagName));
            }

此结果变量应以逗号分隔的形式保存所有值,而 MultipleTags 包含一组 ID,因此它将迭代多次。

应该怎么写。请建议我。 怀疑这行写的对不对

db.Tags.Where(t => t.TagId == tid).Select(e => e.TagName)

请给我一些建议。

这样就可以了:

//assuming that MultipleTags is an array of "ids"
var result = db.Tags.Where(t => MultipleTags.Contains(t.TagId)).Select(e => e.TagName).ToList().Aggregate((a, b) => a + "," + b);

也试试这个

var result = db.Tags.Where(t => MultipleTags.Contains(t.TagId)).ToList().ForEach((item) =>
            {
               item.TagName = item.id + "," + item.TagName;
            });

尝试使用这个

   var result = (string)null;
   result=string.Join(",", (from a in db.Tags join m in MultipleTags on a.TagId equals m select a.TagName));