Solutions
The following sections describe solutions to the preceding problems. You can download the example solutions to see additional details and to experiment with the programs at https://github.com/PacktPublishing/Improving-your-C-Sharp-Skills/tree/master/Chapter18.
38. Directory size, LINQ style
Both this solution and Solution 30. Directory size, use the DirectoryInfo
class's GetFiles
method to make an array holding FileInfo
objects that represent the files contained within the directory. The previous solution then used the following code to add the files' sizes:
// Add the file sizes. long size = 0; foreach (FileInfo fileinfo in fileinfos) size += fileinfo.Length; return size;
This code loops through FileInfo
objects and adds their file lengths to the size
variable.
The new SizeLINQ
extension method uses the following code to perform the same task:
// Add the file sizes. var sizeQuery = from FileInfo fileinfo in fileinfos select fileinfo.Length; return sizeQuery.Sum();
This version...