[英]CS0029 C# 'Cannot implicitly convert type string[] to string'
[英]CS0029 C# Cannot implicitly convert type to 'string[]'
我已经初始化了一个字符串数组,然后在foreach循环中尝试执行linq查询并将查询结果存储到已初始化的字符串数组中。
我尝试了ToList()之类的但是它不起作用
public class TierImaegeDefinitionDTO
{
public string Tier { get; set; }
public string[] ImageDefinition { get; set; }
}
foreach (var tierVal in tierList)
{
String tier = tierVal.Tier;
var imageDefinitionList = (from p in _context.Product
join ti in _context.TierImageMap
on p.Id equals ti.ProductId join t
in _context.Tiers on ti.TierType
equals t.Id
where (p.Id == ProductId) &&
(t.TierType == tier)
select new
{
ti.ImageName,
}).ToList().Distinct();
await _context.SaveChangesAsync();
tierVal.ImageDefinition = imageDefinitionList;//getting error in this line
}
ImageDefinition是字符串的数组[]。 ToList()将返回列表<T>,和鲜明将返回的IEnumerable <T>。 您需要更改通话以使其以
.Distinct().ToArray()
另一个问题是您正在选择一个对象,因此您的.ToList()实际上返回的是List <匿名类型>。 相反,您可以只选择ti.ImageName
var imageDefinitionList =
(from p in _context.Product
join ti in _context.TierImageMap on p.Id equals ti.ProductId
join t in _context.Tiers on ti.TierType equals t.Id
where (p.Id == ProductId) && (t.TierType == tier)
select ti.ImageName
).Distinct().ToArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.