Đỉnh NGUYỄN

life's a journey not a destination


Leave a comment

Liệt kê thư mục ẩn trong .NET 4.0


Dùng phương thức DirectoryInfo.EnumerateDirectories liệt kê tên các tập tin ẩn trong 1 phân vùng hay thư mục

using System;
// IO, Linq namespace
using System.IO;
using System.Linq;

namespace HiddenDirectories
{
    class Program
    {
        static void Main(string[] args)
        {
            // dir is a collection of IEnummerable<string>
            var dir = new DirectoryInfo(@"C:\")
                    .EnumerateDirectories()
                    .Where(x => x.Attributes.HasFlag(FileAttributes.Hidden))
                    .Select(x => x.Name);
            
            foreach (var file in dir)
            {
                Console.WriteLine(file);
            }

            Console.ReadLine();
        }
    }
}

Kết quả:

image

Advertisements


Leave a comment

Dùng LINQ tìm 5 tiến trình dùng nhiều bộ nhớ


Tham khảo MSDN về đối tượng Process. Lớp Process cung cấp phương thức truy xuất các tiến trình cục bộ và từ xa; cho phép start và stop các tiến trình hệ thống cục bộ

var query = (from p in System.Diagnostics.Process.GetProcesses()
             orderby p.PrivateMemorySize64 descending
             select p)
                 .Skip(0)
                 .Take(5)
                 .ToList();
foreach (var item in query)
{
    System.Diagnostics.Debug.WriteLine(item.ProcessName);
}


Leave a comment

Dùng LINQ tính tổng mảng nhiều chiều


Đây là cách tính tổng 1 mảng nhiều chiều dùng LINQ. Mảng này có 3 dòng & 2 cột.

using System;
using System.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var myArray = new int[,] {
                    { 1, 2 },
                    { 3, 4 },
                    { 5, 6 }
                };
                var arrSum = (from int val in myArray select val).Sum();

                Console.WriteLine(arrSum.ToString());
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                // handle ex
            }
        }
    }
}