我可以直接在LINQ中填充我自己的类列表吗?

时间:2013-07-16 12:13:39

标签: c# linq

这是一个例子:

public class FotoLiveLove
{
    public string Tipologia { get; set; }
    public string URL { get; set; }
}

IList<FotoLiveLove> fotoLiveLove = xDoc["statuses"].Select(x => new
{
    Tipologia = "twitter",
    URL = (string)x["URLJSON"]
}).ToList();    

但它说无法将匿名类型#1转换为FotoLiveLove。

3 个答案:

答案 0 :(得分:15)

您需要在new关键字后添加您的班级名称:

IList<FotoLiveLove> fotoLiveLove = xDoc["statuses"].Select(x => new FotoLiveLove()
{
    Tipologia = "twitter",
    URL = (string)x["URLJSON"]
}).ToList();  

答案 1 :(得分:2)

您必须在.Select上指定类型。尝试类似:

IList<FotoLiveLove> fotoLiveLove = xDoc["statuses"].Select(x => new FotoLiveLove() 
{
    Tipologia = "twitter",
    URL = (string)x["URLJSON"]
}).ToList();  

答案 2 :(得分:1)

我更喜欢在这些情况下使用查询表单(但这只是一个偏好):

IList<FotoLiveLove> fotoLiveLove = (from f in x.Doc["statuses"]
                               select new FotoLiveLove(){
                                   Tipologia = "twitter",
                                   URL = (string)x["URLJSON"]
                               }).ToList();