:: Kunagorn Sirikup :: C# Developer

6/1/57

Average File Size With LINQ

ตัวอย่างนี้เป็นการหาค่า Average ขนาดไฟล์ทั้งหมดที่อยู่ใน Directory โดยใช้ความสามารถของ LINQ ช่วยในการคำนวณ สามารถทำได้ ดังนี้
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get list file name from directory
            string[] dirfiles = System.IO.Directory.GetFiles("C:\\Learning");

            // Calculate average size
            var avg = dirfiles.Select(file => 
                new System.IO.FileInfo(file).Length).Average();

            // Calculate and Transform Format
            avg = Math.Round(avg / 1000000, 2);
            Console.WriteLine("The Average file size is {0} MB",avg);
            Console.ReadLine();
        }
    }
}

ที่นี้มาลองทดสอบการทำงานกันดูนะครับว่า Code นี้ทำงานยังไง
เริ่มแรกผมสร้าง Folder ชื่อ Learning อยู่ที่ C:\Learning ดังรูป
จากนั้นเมื่อ Run โปรแกรมคำสั่งแรกจะทำการดึงชื่อไฟล์ทั้งหมดที่อยู่ใน Directory ที่เรากำหนดไว้ออกมาในรูปแบบของ String[] ดังรูป
จากนั้นจะเอาไฟล์ทั้งหมดมาทำการคำนวณและหาค่าเฉลี่ย สุดท้ายจะได้ Output ค่า Average ออกมา ดังรูป

ไม่มีความคิดเห็น:

แสดงความคิดเห็น