خواندن فایل CSV در GridView

  خواندن فایل CSV در GridView

سیستم مدیریت رتبه‌بندی بر اساس فایل‌های CSV در زبان برنامه‌نویسی سی‌شارپ


در دنیای امروز، بسیاری از نرم‌افزارها و سیستم‌ها نیازمند مدیریت داده‌های بزرگ و پیچیده هستند. یکی از روش‌های رایج برای ذخیره و نگهداری داده‌ها، استفاده از فایل‌های CSV است. فایل‌های CSV یا Comma-Separated Values، فایل‌هایی هستند که داده‌ها را به صورت جدولی و جدا شده با کاما ذخیره می‌کنند و به‌راحتی قابل خواندن و ویرایش هستند. در این مقاله، قصد داریم نمونه‌سورس‌کدی در زبان سی‌شارپ ارائه دهیم که بتواند با فایل‌های CSV کار کند و سیستم مدیریت رتبه‌بندی مبتنی بر این نوع فایل‌ها را پیاده‌سازی کند.
ایجاد ساختار داده‌ای برای مدیریت رتبه‌بندی
قبل از هر چیز، نیاز است که ساختار داده‌ای مناسبی برای ذخیره اطلاعات افراد یا اشخاص در سیستم طراحی کنیم. به‌طور معمول، هر فرد یا کاربر در سیستم، چندین ویژگی دارد: نام، شماره شناسایی، امتیاز، و رتبه. بنابراین، می‌توانیم یک کلاس به نام `User` تعریف کنیم که این ویژگی‌ها را در بر گیرد.
csharp  

public class User

{

public int Id { get; set; }

public string Name { get; set; }

public double Score { get; set; }

public int Rank { get; set; }

}


در این ساختار، `Id` شماره منحصر به فرد هر کاربر است، `Name` نام، `Score` امتیاز کسب شده، و `Rank` رتبه کاربر در سیستم است.
نحوه خواندن و نوشتن فایل CSV
کار با فایل‌های CSV در سی‌شارپ، می‌تواند با استفاده از کلاس‌های استاندارد مانند `StreamReader` و `StreamWriter` انجام شود، ولی برای ساده‌تر کردن کار، معمولاً از کتابخانه‌های جانبی مانند `CsvHelper` استفاده می‌شود. اما در اینجا، برای سادگی و نشان دادن مفهوم، از روش‌های پایه‌ای استفاده می‌کنیم.
*خواندن فایل CSV:*
برای خواندن فایل CSV، باید فایل موجود را باز کنیم، هر خط را بخوانیم، و اطلاعات هر خط را تجزیه کنیم. فرض بر این است که هدر فایل در خط اول قرار دارد.
csharp  

public static List<User> ReadCsv(string filePath)

{

var users = new List<User>();

using (var reader = new StreamReader(filePath))

{

string line;

bool isFirstLine = true;

while ((line = reader.ReadLine()) != null)

{

if (isFirstLine)

{

isFirstLine = false; // رد کردن هدر

continue;

}

var values = line.Split(',');
var user = new User

{

Id = int.Parse(values[0]),

Name = values[1],

Score = double.Parse(values[2]),

Rank = int.Parse(values[3])

};

users.Add(user);

}

}

return users;

}


*نوشتن داده‌ها به فایل CSV:*
برای نوشتن، باید اطلاعات جدید یا بروزرسانی شده را در فایل ثبت کنیم.
csharp  

public static void WriteCsv(string filePath, List<User> users)

{

using (var writer = new StreamWriter(filePath))

{

// نوشتن هدر

writer.WriteLine("Id,Name,Score,Rank");

foreach (var user in users)

{

var line = $"{user.Id},{user.Name},{user.Score},{user.Rank}";

writer.WriteLine(line);

}

}

}


پیاده‌سازی سیستم رتبه‌بندی
حالا که امکان خواندن و نوشتن فایل‌های CSV را داریم، باید الگوریتمی برای رتبه‌بندی کاربران بر اساس امتیازشان بنویسیم. فرض بر این است که هر چه امتیاز بالاتر باشد، رتبه بهتر است، یعنی ۱، ۲، ۳ و غیره.
برای این کار، ابتدا باید لیست کاربران را بر اساس امتیاز مرتب کنیم. سپس، رتبه هر کاربر را بر اساس جایگاه آن در لیست تعیین کنیم.
csharp  

public static void AssignRanks(List<User> users)

{

// مرتب‌سازی بر اساس Score به صورت نزولی

var sortedUsers = users.OrderByDescending(u => u.Score).ToList();
for (int i = 0; i < sortedUsers.Count; i++)

{

... ← ادامه مطلب در magicfile.ir
باکس دانلود ( خواندن فایل CSV در GridView )
دانلود

پیشنهاد برای دانلود ( خواندن فایل CSV در GridView )

برای دانلود کردن اینجا را کلیک فرمایید

نظرات کاربران (۳)

مریم احمدی

عالی بود .. با تشکر