C# 无法将类型bool隐式转换为System.Collections.Generic.List
为什么这个代码有效C# 无法将类型bool隐式转换为System.Collections.Generic.List,c#,C#,为什么这个代码有效 public static List<int> RemoveSmallest(List<int> numbers) { numbers.Remove(numbers.Min()); return numbers; } publicstaticlist removesmalest(列表编号) { numbers.Remove(numbers.Min()); 返回号码; } 而不是这个。原因是什么 public static Li
public static List<int> RemoveSmallest(List<int> numbers)
{
numbers.Remove(numbers.Min());
return numbers;
}
publicstaticlist removesmalest(列表编号)
{
numbers.Remove(numbers.Min());
返回号码;
}
而不是这个。原因是什么
public static List<int> RemoveSmallest1(List<int> numbers)
{
return numbers.Remove(numbers.Min());
}
publicstaticlist removesmalest1(列表编号)
{
返回数字。删除(numbers.Min());
}
List.Remove()返回true或false,这取决于它是否成功,而不是列表
List.Remove()
如果项目成功删除,则返回true;否则,错误。如果在列表
中未找到项,此方法也会返回false
在方法List removesmalest(列表编号)
中,返回类型是List
而不是bool,这就是第二种方法给出错误的原因
如果将结果分配给如下变量:
var result = numbers.Remove(numbers.Min());
您还可以看到结果
类型:
那么
数字的类型是列表
,因此从返回列表
的方法返回就可以了。Remove
方法的返回类型是bool
。。。因此,您不能将该值作为RemoveSmallest1
的返回值从中返回。如果某个值被删除,Remove将返回true
,否则返回false
。它不会返回整个列表。文档是查找此类内容的好地方,例如:如果我说这也不起作用,它会有帮助吗:list result=numbers.Remove(numbers.Min())代码>