Я хочу сделать метод, который возвращает список. Но когда я объявляю строку типа данных в списке, это дает мне эту ошибку:
Cannot implicitly convert type 'System.Collections.Generic.List' to '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
в объявлении метода, вы увидите, что он возвращает System.Windows.Documents.List
, а не System.Collections.Generic.List<string>
.
Кроме того, ваш метод очень странно принимает ListStockCheck
в качестве аргумента, а также возвращает его. Обычно вы делаете метод void
в таких случаях.
Ну, на самом деле вам вообще не нужно ничего возвращать, насколько я вижу. Список вообще не используется в методе, и если он есть, вы возвращаете параметр, поэтому он у вас уже есть, так как вы должны передать его методу. Как написал один из комментаторов, в C# не обязательно что-то возвращать, можно написать private void MyMethod()
, тогда возврат не нужен.
Могут быть случаи, когда вам нужен интерфейс Fluent, но это не похоже на то, что вам нужно здесь.
Если вы все еще хотите вернуть его, вам нужно изменить тип возвращаемого значения, чтобы он совпадал с параметром, например. List<string>
.
Вы можете использовать другие типы, такие как, например. IEnumerable<string>
, IList<string>
и т. д., включая неуниверсальные IEnumerable
и IList
. Это зависит от того, чего вы хотите достичь, какой тип вернуть.
List<T>
— универсальный тип. Для использования универсального типа требуются параметры. Поскольку вы возвращаетесь ListStockCheck
, я предполагаю, что вы хотите вернуть список строк, то есть List<string>
. Таким образом, ваш тип возвращаемого значения должен быть примерно таким, как показано ниже.
private List<string> StockCheck(List<string> ListStockCheck, string[] StringProducts, int[,] productstock)
{
// Other code
}
Может быть, ваша функция возвращает
List<string>
?