LINQ不提供我期望的输出

时间:2015-09-06 22:17:13

标签: c# linq visual-studio

 var CC = new List<Company>();

            Company t1 = new Company();
            t1.Comp = "ABC";
            t1.Area = "Area1";
            t1.Link = "https://www.google.com";
            CC.Add(t1);

            Company t2 = new Project();
            t2.Comp = "DEF";
            t2.Area = "Area2";
            t2.Link = "https://www.yahoo.com";
            CC.Add(t2);

            var a = from p in CC where p.Comp == "ABC" && p.Area == "Area1"
                    select p.Link;

Console.WriteLine(a);

            Console.Read();

在上面的代码中,我希望将输出视为“www.google.com”。

但我看到的是。

enter image description here

我哪里错了?我怎样才能看到“www.google.com”?

2 个答案:

答案 0 :(得分:6)

a返回IEnumerable如果你想访问谷歌,那么你想foreachFirstOrDefault()

foreach(var item in a)
{
 Console.WriteLine(a);
}

可以找到更多信息here

答案 1 :(得分:4)

由于无法知道有多少匹配,因此您的变量a不是单个匹配项,而是匹配项列表。你需要选择一个,也许是第一个:

Console.WriteLine(a.FirstOrDefault());