无法将类型'string'隐式转换为'System.Collections.Generic.List <string>'c#类getter

时间:2019-12-18 18:07:25

标签: c# class get

class Fridge {
    public List<string> Food
    {
        get {
            string aliments = "";
            foreach (string aliment in Food)
            {
                aliments += $"{aliment} ";
            }
            return aliments;
        }
    }

我正在尝试获取冰箱中所有食物的字符串,并且在尝试运行代码时无法得到以下错误。无法将类型'string'隐式转换为'System.Collections.Generic.List'

3 个答案:

答案 0 :(得分:2)

将吸气剂的返回类型更改为string,而不是List<string>

public string Food  // <-- return type should be string, not List<string>
{
    get {
        string aliments = "";
        foreach (string aliment in Food)
        {
            aliments += $"{aliment} ";
        }
        return aliments;
    }
}

答案 1 :(得分:1)

您说过,您的函数将返回字符串集合-确切地说是List<string>

但是您的返回值只是一个单个字符串。与大多数.NET Langauges一样,C#对于隐式转换非常谨慎。这显然超出了它的作用。

您要么要创建并填充一个集合。或使用浓缩字符串。请决定。

答案 2 :(得分:-1)

要以字符串形式返回逗号分隔的列表,请执行以下操作:

docker-compose up