0

这只是一个简单的问题,我有点难过......

据我所见,我实际上并没有在任何地方使用 char,因为 model.children 是 aIList<>而 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)
                {
                }
            }
        }
    }
4

5 回答 5

3

model.Name 是一个字符串

您已分配:

var departments = model.Name;

这里的部门是类型string和字符串实现IEnumerable<char>,这就是为什么当你使用它枚举它时,循环中foreach的项目是类型的。foreachchar

你正在使用

foreach (Department Children in departments)
    {
    }

这里 Children 是类型,char因为部门是一个字符串,而您已将其指定为类型Department,这就是您收到此错误的原因。

于 2012-10-03T10:25:10.430 回答
1

departments是一个string任务:

 var departments = model.Name;

这就是为什么你Children得到char

应该:

 foreach (Department Children in departmentChildren)
 {
 }
于 2012-10-03T10:25:28.037 回答
1

问题在于这一行:

foreach (Department Children in departments)

departments是一个字符串,而您正在尝试对其进行迭代,这会将字符串视为IEnumerable<char>

于 2012-10-03T10:26:14.297 回答
0

在您的代码中:

var departments = model.Name;

我想 Name 是一个字符串,然后您正在枚举字符集合。

于 2012-10-03T10:25:14.290 回答
0

部门是 astring并且您正试图将其string视为IEnumerable<char>

作为string工具IEnumerable<char>,这就是为什么 中的项目foreach loop是 typechar

int zeroChildren = 0;

if (departmentChildren.Count.Equals(zeroChildren));
{

}

那么在这里,如果collection是空的,loop的含义是什么......?foreachdepartmentChildren

于 2012-10-03T10:31:04.137 回答