LINQ:如何在select期间转换查询结果?

gle*_*roo 1 c# linq type-conversion .net-3.5

这将返回以下列表strings:

var filesizes = from fd in files
                from tag in fd.Tags
                where tag.Id == ID.FILESIZE
                select tag.Value;
Run Code Online (Sandbox Code Playgroud)

下面是不行的,但有可能的方式做同样的事情来转换stringint在查询期间?

var filesizes = from fd in files
                from tag in fd.Tags
                where tag.Id == ID.FILESIZE
                select new { int.Parse(tag.Value) };
Run Code Online (Sandbox Code Playgroud)

或者我应该像这里建议的那样使用ConvertAll

tst*_*ter 5

你可以这样做:

var filesizes = from fd in files
                from tag in fd.Tags
                where tag.Id == ID.FILESIZE
                select new { FileSize = int.Parse(tag.Value) };
Run Code Online (Sandbox Code Playgroud)

要么

var filesizes = from fd in files
                from tag in fd.Tags
                where tag.Id == ID.FILESIZE
                select int.Parse(tag.Value);
Run Code Online (Sandbox Code Playgroud)