我有以下代码,但我的错误是
Error 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<SelectListItem> GetStudents()
{
List<SelectListItem> result = new List<SelectListItem>();
foreach (var id in Convert.ToInt32(projectID))
{
foreach( Project project in Project.Load(id))
result.Add(new SelectListItem
{
Selected = false,
Text = emp.ID.ToString(),
Value = emp.Name
});
return result.AsEnumerable();
}
}发布于 2010-03-26 09:55:21
您的尝试将projectId中的字符串转换为foreach语句中的int。把转换器放进前排。
尝尝这个
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();
}还有其他的问题。您将从循环内部返回,因此您只需要将其用于第一个id。我试图在上面的代码中纠正这个问题。
发布于 2010-03-26 09:56:51
看起来projectID是一个string[],您正在尝试将它转换为一个int[]。如果是这样的话,您可以执行以下操作来使foreach循环工作
foreach (var id in projectID.Select(x => Convert.ToInt32(x))) {
...
}发布于 2010-03-26 09:55:53
Convert.ToInt32(projectID)不会返回一个Int集合,它将返回一个Int实例,因此您不能对它使用foreach语句。
你想达到什么目的?
https://stackoverflow.com/questions/2522280
复制相似问题