C# 名为'的局部变量;myList';无法在此作用域中声明
有谁能解释给我,让我知道这个错误是什么,为什么我会得到它? 我试图更改变量的名称C# 名为'的局部变量;myList';无法在此作用域中声明,c#,asp.net-mvc,sorting,C#,Asp.net Mvc,Sorting,有谁能解释给我,让我知道这个错误是什么,为什么我会得到它? 我试图更改变量的名称f,但没有成功 public ActionResult Index(string SortOrder, string CurrentFilter, string SearchString, int? page) { ViewBag.CurrentSort = SortOrder; ViewBag.NameSortParm = string.IsNullOrEmpty(SortOrder) ? "Ti
f
,但没有成功
public ActionResult Index(string SortOrder, string CurrentFilter, string SearchString, int? page)
{
ViewBag.CurrentSort = SortOrder;
ViewBag.NameSortParm = string.IsNullOrEmpty(SortOrder) ? "Tillverkning desc" : "";
ViewBag.DateSortParm = SortOrder == "HireDate" ? "HireDatedesc" : "HireDate";
conn.Open();
ProductionOrderList myList = new ProductionOrderList();
myList = ProductionOrderReg.GetProductionOrders(conn, new Guid("288937bcc-6uif-485a-anm9-fadfq1234039d"));
if (!string.IsNullOrEmpty(SearchString))
{
// here on myList get red line
myList = myList.Where( myList => myList .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
}
}
这是因为C#支持。编译器正在抱怨,因为lambda参数myList
必须与外部范围中的任何变量具有不同的名称
试试这个:
myList = myList.Where(x => x.ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
IEnumerable<tionOrderItem> myList = ProductionOrderReg.GetProductionOrders(...);
if (!string.IsNullOrEmpty(SearchString))
{
// here on myList get red line
myList = myList.Where(x => x .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
}
...
看
下一个问题是
myList
属于ProductionOrderList
类型,而Where
重新运行IEnumerable
。除非您需要使用自定义集合类型,否则我不会使用它。试试这个:
IEnumerable<tionOrderItem> myList = ProductionOrderReg.GetProductionOrders(...);
if (!string.IsNullOrEmpty(SearchString))
{
// here on myList get red line
myList = myList.Where(x => x .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
}
...
这是因为C#支持。编译器正在抱怨,因为lambda参数myList
必须与外部范围中的任何变量具有不同的名称
试试这个:
myList = myList.Where(x => x.ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
IEnumerable<tionOrderItem> myList = ProductionOrderReg.GetProductionOrders(...);
if (!string.IsNullOrEmpty(SearchString))
{
// here on myList get red line
myList = myList.Where(x => x .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
}
...
看
下一个问题是
myList
属于ProductionOrderList
类型,而Where
重新运行IEnumerable
。除非您需要使用自定义集合类型,否则我不会使用它。试试这个:
IEnumerable<tionOrderItem> myList = ProductionOrderReg.GetProductionOrders(...);
if (!string.IsNullOrEmpty(SearchString))
{
// here on myList get red line
myList = myList.Where(x => x .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
}
...
将代码更改为
myList = myList.Where( item => item .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
将代码更改为
myList = myList.Where( item => item .ProductionOrderNo.ToUpper().Contains(SearchString.ToUpper()));
错误14无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“SystemCompany.Database.Production.ProductionOrderList”。存在显式转换(是否缺少强制转换?)my productionOrderItem是ProductionOrderListError 14中的一项,无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“SystemCompany.Database.Production.ProductionOrderList”。存在显式转换(是否缺少强制转换?)my productionOrderItem是ProductionOrderListError 14中的一项,无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“SystemCompany.Database.Production.ProductionOrderList”。存在显式转换(是否缺少转换?)my productionOrderItem是中的一项ProductionOrderList@FadiAlkadi我已经添加了有关该错误的更多信息。请参阅我的更新错误。错误14无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“SystemCompany.Database.Production.ProductionOrderList”。存在显式转换(是否缺少转换?)my productionOrderItem是中的一项ProductionOrderList@FadiAlkadi我已经添加了有关该错误的更多信息。查看我的更新错误。