C# 转换短?到System.Collection.Generic.List
我有一个名为filter的变量从视图传递到SaleList。当它第一次加载时,它总是空的,应该是空的。我似乎对else语句k=filter有问题。我试过一些运气不好的东西。任何帮助都将不胜感激 无法将类型short?[]隐式转换为System.Collection.Generic.List 我不知道如何转换这个C# 转换短?到System.Collection.Generic.List,c#,.net,asp.net-mvc,linq,C#,.net,Asp.net Mvc,Linq,我有一个名为filter的变量从视图传递到SaleList。当它第一次加载时,它总是空的,应该是空的。我似乎对else语句k=filter有问题。我试过一些运气不好的东西。任何帮助都将不胜感激 无法将类型short?[]隐式转换为System.Collection.Generic.List 我不知道如何转换这个 short? filter = sale.SalesStatusID; List<short> k; if (filter == null) { k = (fro
short? filter = sale.SalesStatusID;
List<short> k;
if (filter == null)
{
k = (from s in _db.SalesStatus
select s.SaleStatusID).ToList();
}
else
{
k = filter;
}
var sales = from t in _db.Sales
where k.Contains((short) t.SalesStatusID)
select t;
short?过滤器=sale.SalesStatusID;
清单k;
if(filter==null)
{
k=(从s到_db.SalesStatus)
选择s.SaleStatusID).ToList();
}
其他的
{
k=过滤器;
}
var销售额=从t in_db.sales
其中k.Contains((短)t.SalesStatusID)
选择t;
变量k
是short
的集合,而您的filter
变量是可为空的short。不能将可为空的短(单重项)分配给集合类型
您可以使用过滤器变量值创建集合并分配它
List<short> k;
if (filter != null)
{
k = new List<short> { filter.Value };
}
else
{
k = new List<short>();
}
变量
k
是short
的集合,您的filter
变量是可为空的short。不能将可为空的短(单重项)分配给集合类型
您可以使用过滤器变量值创建集合并分配它
List<short> k;
if (filter != null)
{
k = new List<short> { filter.Value };
}
else
{
k = new List<short>();
}
您正在将k(一种列表类型)赋值给filter的值(一种可为null的短类型),您需要将else语句更改为
else
{
k.Add(filter.Value);
}
您正在将k(一种列表类型)赋值给filter的值(一种可为null的短类型),您需要将else语句更改为
else
{
k.Add(filter.Value);
}
k
被声明为类型List
——但是过滤器
是可空的short
,而不是列表
。查看无法将类型short?[]隐式转换为System.Collection.Generic.List
您是否100%确定这是您的确切错误?k
声明为类型List
-但是筛选器
是可空的short
,而不是列表。查看无法将short?[]类型隐式转换为System.Collection.Generic.List
是否100%确定这是您的确切错误?