پست

پیدا کردن خط‌های تکراری در C#

اگر در برنامه خود نیاز دارید که خط‌های تکراری در یک فایل را پیدا کنید می‌توانید از کد زیر استفاده کنید.

ابتدا تمام فایل را خوانده و در یک متغیر می‌ریزیم.
سپس بر روی آن GroupBy انجام می‌دهیم و توسط شرط Where خط‌هایی که تکراری هستند را پیدا می‌کنیم.

1
2
3
4
5
6
const string path = "text.txt";

var lines = File.ReadAllLines(path);
var totalData = lines.GroupBy(x => x).Where(g => g.Count() > 1).ToList();
var duplicateData = totalData.Select(g => g.Key).ToArray();
var countDuplicateData = totalData.Select(g => g.Count()).ToArray();

افزونه زیر هم برای کارهایی مانند پیدا کردن خط‌های تکراری و … کاربردر دارد.

transformer