如何在 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));
这就是我想要实现的目标:
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));