コード例 #1
0
        internal static DirectorySizeInfo DirSize(DirectoryInfo d)
        {
            DirectorySizeInfo size = new DirectorySizeInfo();

            try
            {
                // Add file sizes.
                var fis = d.GetFiles();
                foreach (var fi in fis)
                {
                    size.Size += fi.Length;
                }
                size.FileCount += fis.Length;

                // Add subdirectory sizes.
                var dis = d.GetDirectories();
                size.DirectoryCount += dis.Length;
                foreach (var di in dis)
                {
                    size += DirSize(di);
                }
            }
            catch
            {
            }

            return(size);
        }
コード例 #2
0
ファイル: Helpers.cs プロジェクト: dtwk2/UtilityWpfCore
        public static DirectorySizeInfo Size(this DirectoryInfo d)
        {
            DirectorySizeInfo size = new DirectorySizeInfo();

            try {
                // Add file sizes.
                var fis = d.GetFiles();
                foreach (var fi in fis)
                {
                    size.Size += fi.Length;
                }
                size.FileCount += fis.Length;

                // Add subdirectory sizes.
                var dis = d.GetDirectories();
                size.DirectoryCount += dis.Length;
                foreach (var di in dis)
                {
                    size += Size(di);
                }
            }
            catch (Exception ex) {
            }

            return(size);
        }
コード例 #3
0
        internal static DirectorySizeInfo DirSize(DirectoryInfo d)
        {
            var size = new DirectorySizeInfo();

            try
            {
                //Add file sizes.
                var fis = d.GetFiles();

                foreach (var fi in fis)
                {
                    size.Size += fi.Length;
                }

                size.FileCount += fis.Length;

                //Add subdirectory sizes.
                var dis = d.GetDirectories();
                size.DirectoryCount += dis.Length;

                size = dis.Aggregate(size, (current, di) => current + DirSize(di));
            }
            catch (Exception)
            {}

            return(size);
        }