C# 使用foreach返回列表
注意:我在数组列表中获取学生ID,如[0]1、[1]2、[2]3……等等。因此,我想根据ID返回学生详细信息。如果我错了,请纠正我。我认为您正在寻找收益率回报,您可以使用它返回IEnumerableC# 使用foreach返回列表,c#,foreach,json.net,C#,Foreach,Json.net,注意:我在数组列表中获取学生ID,如[0]1、[1]2、[2]3……等等。因此,我想根据ID返回学生详细信息。如果我错了,请纠正我。我认为您正在寻找收益率回报,您可以使用它返回IEnumerable或循环中的IEnumerable 首先,您需要将方法更改为: public string Studentbyteacher(long _id) { using (var context = new DbContext()) { var studentID = (cont
public string Studentbyteacher(long _id)
{
using (var context = new DbContext())
{
var studentID = (context.TeacherStudent.Where(x => x.TeacherID == _id).Select(x => x.studentID));
foreach (var id in studentID)
{
var strJSON = JsonConvert.SerializeObject(context.Student.Where(x => x.ID == id).ToList());
return strJSON;
}
return null;
}
}
到
最后删除返回strJson 你发布的代码有什么问题?电流输出是多少?预期产量是多少?此问题缺乏详细信息。请编辑您的问题以实际提问您几乎可以简化整个过程以返回JsonConvert.SerializeObjectcontext.TeacherStudent.Wherex=>x.TeacherID==\U id.Selectx=>x.studentID.FirstOrDefault。。但是我假设你的意思是你想要不止一行的返回,每个函数每个代码路径只能返回一次,你在foreach循环中有一个返回。这样做永远不会通过循环的第一次迭代。现在,我只得到1个基于ID的student值,但我想返回基于ID的student列表。例如:[1 student1 0 Address1 2 student2 0 Address2 3 student3 0 Address3 4 student4 0 Address4]
public IEnumerable<string> Studentbyteacher(long _id)
var strJSON = JsonConvert.SerializeObject(context.Student.Where(x => x.ID == id).ToList());
yield return JsonConvert.SerializeObject(context.Student.Where(x => x.ID == id).FirstOrDefault());
public string Studentbyteacher(long teacherId)
{
using (var context = new DbContext())
{
var students =
from teacherStudent in context.TeacherStudent.Where(x => x.TeacherID == teacherId)
let studentId = teacherStudent.studentID
let student = context.Student.Where(x => x.ID == studentId).Single()
select student;
return JsonConvert.SerializeObject(students);
}
}