LINQ Join返回显式类型而不是VAR

use*_*422 0 c# linq

我有这个LINQ可以完成我想要的工作

var query = context.MasterTemplateOfficeTag
             .Join(context.Tag, x => x.TagId, y => y.Id, (x, y) => new { y.Name })
             .ToList();
Run Code Online (Sandbox Code Playgroud)

虽然我的问题是我希望LINQ返回一个,list<String>因为Select语法=> new { y.Name })是类型的string.因此如果编译器知道返回类型,为什么我不能使用list<String>

我想要这样的东西

 List<String> name = context.MasterTemplateOfficeTag
                      .Join(context.Tag, x => x.TagId, y => y.Id, (x, y) => new { y.Name })
                      .ToList();
Run Code Online (Sandbox Code Playgroud)

这可能吗?

谢谢

Dmi*_*nko 6

   new { y.Name }
Run Code Online (Sandbox Code Playgroud)

是一个具有单个字段()的匿名对象.丢包和退货:stringNamenew {...}string

   List<String> name = context
     .MasterTemplateOfficeTag
     .Join(
         context.Tag, 
         x => x.TagId, 
         y => y.Id, 
        (x, y) => y.Name ) // <- Now we return string: y.Name
     .ToList();
Run Code Online (Sandbox Code Playgroud)