【问题标题】:C# Cannot implicitly convert type 'System.Collections.Generic.List<string>' to 'System.Windows.Documents.List'C# 无法将类型“System.Collections.Generic.List<string>”隐式转换为“System.Windows.Documents.List”
【发布时间】:2019-04-07 15:05:10
【问题描述】:

我想创建一个返回列表的方法。但是当我在列表中声明数据类型字符串时,它给了我这个错误:

无法将类型“System.Collections.Generic.List”隐式转换为“System.Windows.Documents.List”

return 声明中。

private List StockCheck(List<string> ListStockCheck, string[] StringProducts, int[,] productstock)
{
    for (int product = 0; product < StringProducts.GetLength(0); product++) 
    {               
        for (int dag = 0; dag < this.productStock.GetLength(1); dag++)
        {
            sumP[product] += this.productStock[product, dag];
        }               
        if(sumP[product] >=115 && sumP[product] <= 190)
        {
            ListVoorraadCheck.Add("De voorraad van " + StringProducts[product] + " is goed!");
        }
    }
    return ListStockCheck;
}

它在return ListStockCheck; 语句中显示错误。

有谁知道如何解决这个问题?

【问题讨论】:

  • 让你的函数返回一个List&lt;string&gt;,也许吧?
  • 如果您将鼠标悬停在方法声明中的 List 上,您会看到它返回的是 System.Windows.Documents.List 而不是 System.Collections.Generic.List&lt;string&gt;
  • 另外,您的方法将ListStockCheck 作为参数,返回它是非常奇怪的。在这种情况下,您通常会使用 void 方法。

标签: c#


【解决方案1】:

好吧,据我所知,您实际上根本不需要返回任何东西。 List 根本没有在方法中使用,如果是,则您正在返回一个参数,因此您已经拥有它,因为您必须将它传递给该方法。正如其中一位评论员所说,在 C# 中不需要返回某些东西,你可以写 private void MyMethod(),那么你就不需要返回了。

在某些情况下,您可能需要类似 Fluent 界面,但它看起来并不是您想要的。

如果您仍然想返回它,您需要将返回类型更改为与参数相同,例如List&lt;string&gt;.

您可以使用其他类型,例如IEnumerable&lt;string&gt;IList&lt;string&gt; 等,包括非泛型 IEnumerableIList。这取决于您要实现哪种类型的返回。

【讨论】:

    【解决方案2】:

    List&lt;T&gt;是泛型类型,使用泛型需要参数。由于您要返回ListStockCheck,我假设您要返回字符串列表,即List&lt;string&gt;。因此,您的返回类型应如下所示

       private List<string> StockCheck(List<string> ListStockCheck, string[] StringProducts, int[,] productstock)
       { 
        // Other code
       }
    

    【讨论】:

      猜你喜欢
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多