为什么我不能在我的浮动列表上调用.Add()?

Dan*_*son 0 .net c#

所以我有一个内部阶级:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我调用coefficient.Add(f)时,我收到编译器错误; 说"System.Array不包含Add ...的定义"文档说Add()是List <>中的方法.我怎样才能摆脱这个错误?

Pat*_*man 7

因为您有一个具有相同名称的方法参数,并且名称解析规定了局部变量对类级变量进行规则.

更改其中一个变量的名称,或者使用this以使您想要解决类级变量的特定变量:

foreach (float f in coefficients)
{
    this.coefficients.Add(f);
}
Run Code Online (Sandbox Code Playgroud)