Metin belgesinde Sadece Koşulu Karşılayan Verileri Nasıl Okurum

Formsun içeriği

using System.Diagnostics.Eventing.Reader;
using System.Reflection.Metadata;
using Accessibility;
using CarProject;

namespace ArabaProjesiWithOneClass
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                Car araba = new Car();
                txbGöster.Text = araba.Read();
            }
            catch (FileNotFoundException fileNotFoundException)
            {
                MessageBox.Show($"Okumak istediğiniz dosya bulunamadı. Dosya adresini tespit edip uygulamayı yeniden başlatın. \n{fileNotFoundException.ToString()}");
                throw new FileFormatException("Okumak istediğiniz dosya adresi bulunamadı.");
            }
            catch (Exception exception)
            {
                MessageBox.Show($"Beklenmeyen bir hata ile karşılaşıldı. Uygulamayı yeniden başlatın veya Geri Bildirim gönderin. {exception.ToString()}");
                throw exception;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                Car araba = new Car();
                araba.Brand = txbBrand.Text;
                araba.Model = txbModel.Text;
                araba.YearOfProduction = Convert.ToInt32(txbYearOfProduction.Text);
                araba.NumberPlate = txbNumberPlate.Text;
                araba.MotorPower = txbMotorPower.Text;

                araba.Save();
            }
            catch (FormatException formatException)
            {
                MessageBox.Show("Girdiğiniz değer int formatına dönüştürülemiyor. Hata Detayı" + formatException.ToString());
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString());
                throw new FormatException("Beklenmeyen Bir hata oluştu. Programı yeniden çalıştırmayı deneyin.");
            }
        }

        private void btnyearofProduct_Click(object sender, EventArgs e)
        {
            Search search = new Search();
            search.Brand = txbYearOfProduction.Text;
            txbyearofproductList.Text = search.CarSearch();
            //txbyearofproductList.Text = search.CarSearch(txbYearOfProduction);
        }
    }
}

ilk sınıfım

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CarProject
{
    public class Car
    {
        
            public string Brand { get; set; }
            public string Model { get; set; }
            public int YearOfProduction { get; set; }
            public string NumberPlate { get; set; }
            public string MotorPower { get; set; }

            public string mainData;

            public string fileAdress;


            public void Save()
            {
                fileAdress = @"C:\Users\YILDIRAY\Desktop\Projeİçin.txt";
                var veriler = this.Brand + ";" + this.Model + ";" + this.YearOfProduction + ";" + this.NumberPlate + ";" + this.MotorPower;
                StreamWriter sw = new StreamWriter(fileAdress, true);
                sw.WriteLine(veriler);
                sw.Close();
            }

            public string Read()
            {
                fileAdress = @"C:\Users\YILDIRAY\Desktop\Projeİçin.txt";
                StreamReader stream = new StreamReader(fileAdress);
                string? line;
                int i = 0;
                while ((line = stream.ReadLine()) != null)
                {
                    i++;
                    mainData += i.ToString() + "-)" + line + "\r\n";
                }
                stream.Close();
                return mainData;
            
        }
    }
}

ikinci sınıfım

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Accessibility;

namespace CarProject
{
    public class Search : Car
    {
        public Car araba;
        public string fileAdress;
        public string mainData;

        public string CarSearch()
        {
            fileAdress = @"C:\Users\YILDIRAY\Desktop\Projeİçin.txt";

            StreamReader stream = new StreamReader(fileAdress);

            string? line;
            int i = 0;

            while ((line = stream.ReadLine()) != null)
            {
                if (this.Brand.Contains(line))
                {
                    mainData += line;
                }
            }
            stream.Close();
            return mainData;
        }
    }
}

ikinci sınıfımdaki amacım şu;

bir method oluşturup bununla sadece istenilen üretim yılına sahip arabaları listelemek. Ancak bir türlü bağlayamıyorum.