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?
答案 0 :(得分:0)
ElementAt
是一种扩展方法,仅返回在指定位置的元素。您不能对该实例做太多事情,因为它是将被复制的值类型。因此,GetElement
返回的实例完全独立于列表中的实例。
但是,即使您的列表是引用类型(=类)的列表,您也不能这样做,因为您不能将值分配给方法的返回值。
就您而言,这很简单:
Seeded[i] = true;
答案 1 :(得分:0)
您的种子列表为空,将它们添加到winPCTseed和Seeded列表中时,您没有条件检查winPCT是true还是false。
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(true);
}
但是如果您有如下条件检查使用情况。
List<bool> Seeded = new List<bool>();
// puts winning percentage into a list
for (int i = 0; i < team.Count(); i++)
{
Seeded.Add(false);
if(team[i].winPCT)
{
Seeded[i] = true;
winPCTseed.Add(team.ElementAt(i).winPCT);
}
}