C# IEnumerable<;选择列表项>;错误问题

C# IEnumerable<;选择列表项>;错误问题,c#,C#,我有下面的代码,但有个错误 错误6 foreach语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”C:\Dev\Dev\Code\MvcUI\Models\MappingModel.cs 100 13 MvcUI的公共定义 我怎样才能解决这个问题? 注: string [] projectID; Class Project { int id {get; set;} string Name {get;se

我有下面的代码,但有个错误

错误6 foreach语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”C:\Dev\Dev\Code\MvcUI\Models\MappingModel.cs 100 13 MvcUI的公共定义

我怎样才能解决这个问题? 注:

string [] projectID;


    Class Project
    {
        int id {get; set;}
        string Name {get;set;}
    }

public IEnumerable GetStudents()
{
列表结果=新列表();
foreach(Convert.ToInt32(projectID)中的变量id)
{
foreach(Project.Load(id))中的项目
结果。添加(新的SelectListItem
{
所选=假,
Text=emp.ID.ToString(),
值=emp.Name
});
返回结果;
}
}

在foreach语句中将projectd中的字符串转换为int。将转换放在foreach中

试试这个

public IEnumerable<SelectListItem> GetStudents()
{
    List<SelectListItem> result = new List<SelectListItem>();
    foreach (var id in projectID)
    {
        int intId = Convert.ToInt32(id);
        foreach( Employee emp in Project.Load(intId))
            result.Add(new SelectListItem
            {
                Selected =  false,
                Text = emp.ID.ToString(),
                Value = emp.Name
            });
    }
    return result.AsEnumerable();
}
public IEnumerable GetStudents()
{
列表结果=新列表();
foreach(projectd中的变量id)
{
int intId=转换为32(id);
foreach(项目加载中的员工emp(intId))
结果。添加(新的SelectListItem
{
所选=假,
Text=emp.ID.ToString(),
值=emp.Name
});
}
返回结果;
}

还有其他问题。您是从循环内部返回的,因此您只能在第一个id中使用它。我在上面的代码中尝试更正这一点,以便在foreach语句中将projectd中的字符串转换为int。将转换放在foreach中

试试这个

public IEnumerable<SelectListItem> GetStudents()
{
    List<SelectListItem> result = new List<SelectListItem>();
    foreach (var id in projectID)
    {
        int intId = Convert.ToInt32(id);
        foreach( Employee emp in Project.Load(intId))
            result.Add(new SelectListItem
            {
                Selected =  false,
                Text = emp.ID.ToString(),
                Value = emp.Name
            });
    }
    return result.AsEnumerable();
}
public IEnumerable GetStudents()
{
列表结果=新列表();
foreach(projectd中的变量id)
{
int intId=转换为32(id);
foreach(项目加载中的员工emp(intId))
结果。添加(新的SelectListItem
{
所选=假,
Text=emp.ID.ToString(),
值=emp.Name
});
}
返回结果;
}
还有其他问题。您是从循环内部返回的,因此您只能在第一个id中使用它。我试图在上面的代码中纠正这一点。Convert.ToInt32(projectID)不会返回一个Int集合,它将返回一个Int实例,因此您不能对其使用foreach语句

您试图实现什么?

Convert.ToInt32(projectID)不会返回Int的集合,它将返回单个Int实例,因此您不能对其使用foreach语句


您试图实现什么?

它看起来像是
projectID
是一个
字符串[]
,您试图将其转换为
int[]
。如果是这样,您可以执行以下操作使foreach循环工作

foreach (var id in projectID.Select(x => Convert.ToInt32(x))) {
  ...
}

它看起来像是
projectID
是一个
字符串[]
,您正试图将其转换为
int[]
。如果是这样,您可以执行以下操作使foreach循环工作

foreach (var id in projectID.Select(x => Convert.ToInt32(x))) {
  ...
}
public IEnumerable GetStudents()
{
从projectd中的id返回
从Project.Load(int.Parse(id))中的雇员
选择新的SelectListItem
{
Text=employee.ID.ToString(),
Value=employee.Name
};
}
备注:您的命名约定有点奇怪:GetStudents使用返回employees的Project.Load。

public IEnumerable GetStudents()
{
从projectd中的id返回
从Project.Load(int.Parse(id))中的雇员
选择新的SelectListItem
{
Text=employee.ID.ToString(),
Value=employee.Name
};
}

备注:您的命名约定有点奇怪:GetStudents使用Project.Load返回employees。

代码中哪里出现错误?另外,你能清理代码吗?你真的想从外部循环的主体返回吗?它只会运行一次迭代,因此基本上是没有意义的?另外,你能清理代码吗?你真的想从外部循环的主体返回吗?它将只运行一次迭代,因此基本上没有意义。是的,这会起作用,没有看到行字符串[]projectID。顺便问一下,为什么string[]是字符串的投影集合?而不是int[]的集合?我试过代码,但我遇到了错误6 foreach语句无法对Employee类型的变量进行操作,因为“Employee”不包含第二个foreach上的“GetEnumerator”C:\Dev\Dev\Code\MvcUI\Models\MappingModel.cs 103 17 MvcUI的公共定义loop@user281180-Project.Load(int id)返回什么?一个员工?还是有员工参与的项目?如果它是一个有雇员的项目,那么该行应该看起来像foreach(project.Load(intId.employees)中的雇员emp),但是您可能需要注意null。它返回一个雇员,为了避免混淆,我更愿意这样写:public IEnumerable GetStudents(){List result=new List();foreach(projectID中的变量id){int intId=Convert.ToInt32(id);foreach(Project.Load(intId))result.Add(new SelectListItem{Selected=false,Text=Project.id.ToString(),Value=Project.Name});}返回结果。AsEnumerable();}是的,这会起作用,没有看到行字符串[]projectID。顺便问一下,为什么字符串[]projectID是字符串的集合?而不是int[]的集合?我已尝试了该代码,但出现错误6 foreach语句无法对Employee类型的变量进行操作,因为“Employee”不包含“GetEnumerator”的公共定义C:\Dev\Dev\code\MvcUI\Models\MappingModel.cs 103 17 MvcUI