首页 > 解决方案 > 为什么我不能在我的浮动列表中调用 .Add() ?

问题描述

所以我有一个内部类:

public class RegressEquation 
{
    public List<float> coefficients = new List<float>();
    float averageDiff = 0;

    public  RegressEquation(float[] coefficients, float finalAverageDiff)
    {
        averageDiff = finalAverageDiff;

        foreach (float f in coefficients)
        {
            coefficients.Add(f);
        }
    }
}

但是当我调用 coefficients.Add(f); 时出现编译器错误。上面写着“System.Array 不包含 Add... 的定义”文档说 Add() 是 List<> 中的一个方法。我怎样才能摆脱这个错误?

标签: c#.net

解决方案


因为您有一个具有相同名称的方法参数,并且名称解析规定局部变量统治类级变量。

更改任一变量的名称,或使用this来指定您要处理的类级变量:

foreach (float f in coefficients)
{
    this.coefficients.Add(f);
}

推荐阅读