首页 > 解决方案 > 无法将列表中的元素设置为 true

问题描述

 List<bool> Seeded = new List<bool>();

        // puts winning percentage into a list
        for (int i = 0; i < team.Count(); i++)
        {
            winPCTseed.Add(team.ElementAt(i).winPCT);
            Seeded.Add(false);
        }

这就是我如何填写一个充满布尔变量的列表。我试图将它们设置为 true,但得到一个错误,指出赋值的左侧必须是变量、属性或索引器。我以为这段代码是。

Seeded.ElementAt(i) = true;

在将每个元素设置为 false 之后,如何将它们设置为 true?

标签: c#listboolean

解决方案


ElementAt是一种扩展方法,只返回指定位置的元素。你不能用那个实例做很多事情,因为它是一个将被复制的值类型。因此,返回的实例GetElement完全独立于列表中的那个实例。

但是,即使您的列表是引用类型(=类)的列表,您也不能这样做,因为您不能为方法的返回值分配值。

在您的情况下,这很简单:

Seeded[i] = true;

推荐阅读