这只是一个简单的问题,我有点难过......
据我所知,我实际上并没有使用char作为model.children是IList<>
而model.Name是一个字符串但是我的foreach循环给出的错误是它无法转换char如果您需要更多信息,请随时向catalogue.department询问。
private void DisplayOnWebsiteChecked(Object sender, EventArgs e)
{
var departments = model.Name;
var departmentChildren = model.Children;
if (departmentChildren != null)
{
int zeroChildren = 0;
if (departmentChildren.Count.Equals(zeroChildren));
{
foreach (Department Children in departments)
{
}
}
}
}
编辑:这个问题实际上已经解决了,我将在下面发布固定代码,因为事实证明我把列表放在错误的地方实际搞乱了代码。
private void DisplayOnWebsiteChecked(Object sender, EventArgs e)
{
var departments = model.Name;
var departmentChildren = model.Children;
if (departmentChildren != null)
{
int zeroChildren = 0;
if (departmentChildren.Count.Equals(zeroChildren));
{
foreach (Department Child in departmentChildren)
{
}
}
}
}
答案 0 :(得分:3)
model.Name是一个字符串
您已分配:
var departments = model.Name;
此处部门的类型为string
,字符串实现IEnumerable<char>
,这就是为什么当您使用foreach
枚举它时,foreach
循环中的项目类型为char
。
你正在使用
foreach (Department Children in departments)
{
}
此处Children的类型为char
,因为department是一个字符串,而您已将其指定为Department
类型,这就是您收到此错误的原因。
答案 1 :(得分:1)
departments
是来自作业的string
:
var departments = model.Name;
这就是Children
为char
应该是:
foreach (Department Children in departmentChildren)
{
}
答案 2 :(得分:1)
问题在于这一行:
foreach (Department Children in departments)
departments
是一个字符串,您正在尝试对其进行迭代,即将字符串视为IEnumerable<char>
答案 3 :(得分:0)
在您的代码中:
var departments = model.Name;
我认为Name是一个字符串,然后你枚举字符集合。
答案 4 :(得分:0)
部门是string
,您正试图将string
视为IEnumerable<char>
由于string
实施了IEnumerable<char>
,这就是foreach loop
中的项目属于char
类型的原因。
和强>
int zeroChildren = 0;
if (departmentChildren.Count.Equals(zeroChildren));
{
}
所以, 如果foreach
集合为空,departmentChildren
循环的意义是什么......?