如何将var转换为List c#

时间:2015-02-06 19:41:44

标签: c# list var

我想将var转换为列表值。我得到'myobj'var值。现在我该如何转换为CandidateResume列表?。

 JavaScriptSerializer jsSerializer = new JavaScriptSerializer() { MaxJsonLength = 86753090 };
 var myobj = jsSerializer.Deserialize<List<List<CandidateResume>>>(description);

我的CandidateResume类就像这样

public class CandidateResume
        {

            public string name { get; set; }
            public string url { get; set; }
            public string summary { get; set; }
            public string role { get; set; }
            public string compensation { get; set; }
            public string education { get; set; }
            public string expertise { get; set; }
            public string years { get; set; }
            public string relocation { get; set; }
            public string resume { get; set; }
            public string resumeExtension { get; set; }
            public string resumeMimeType { get; set; }

        }

请在屏幕截图enter image description here

中查看此当前项目值

我如何捕捉物品价值?

     foreach (var item in myobj)
                    {
 WebScrappingCandidate webScrappingCandidate = new WebScrappingCandidate();

}

2 个答案:

答案 0 :(得分:4)

Deserialize<T>会返回TMSDN),这意味着myObj已经是类型:List<List<CandidateResume>>

请记住,var 不是一种类型,它只是使用类型推断来简化:&#34;无论我被分配到哪种类型&#34;

To&#34; flatten&#34;这个列表,你可以使用SelectMany

foreach (CandidateResume resume in myObj.SelectMany(i => i))
{

}

当然,还有其他方法,但答案的关键是你已经一份候选简历列表。无需转换。

答案 1 :(得分:1)

您已有一个列表,Deserialize方法返回一个类型化结果:

List<List<CandidateResume>> myobj =
  jsSerializer.Deserialize<List<List<CandidateResume>>>(description);

循环时,每个项目都是一个列表:

foreach (List<CandidateResume> item in myobj) {
  ...
}