gvrfrdcscj3td Napisano Wrzesień 15, 2025 Zgłoś Napisano Wrzesień 15, 2025 Witam, mam problem z listą. Poniżej kod: ing System; using System.Linq; using System.Collections; using System.Collections.Generic; namespace Liczby; internal class Program { public class Samochod { private string marka { get; set; } private string model { get; set; } private int rokProdukcji { get; set; } private bool czyDostepny { get; set; } public Samochod(string ma, string mo, int rp, bool czyDost) { marka = ma; model = mo; rokProdukcji = rp; czyDostepny = czyDost; DodajSamochod(); } List<Samochod> samochody = new List<Samochod>(); public void DodajSamochod() { samochody.Add(this); WyswietlInformacje(); } public void ZmienDostepnosc(string szukanaMarka) { foreach (Samochod s in samochody) { if (s.marka == szukanaMarka) { s.czyDostepny = true; } } WyswietlInformacje(); } public void WyswietlInformacje() { foreach (Samochod s in samochody) { Console.WriteLine($"{s.marka}\t\t\t{s.model}\t\t{s.rokProdukcji}\t\t\t{s.czyDostepny}"); } } } public static void Main() { Samochod sam1 = new Samochod("Toyota", "Yaris", 2000, false); Samochod sam1 = new Samochod("Mercedes", "CLK", 2001, true); Samochod sam4 = new Samochod("Audi", "R80", 1999, false); Samochod sam5 = new Samochod("Lamborgini", "Diablo", 2020, true); sam1.ZmienDostepnosc("Toyota"); sam3.ZmienDostepnosc("Toyota"); sam4.ZmienDostepnosc("Toyota"); sam5.ZmienDostepnosc("Toyota"); } } Pytanie, jak iterować listę aby nie trzeba było za każdym razem wpisywać odwołania do obiektu (sam1, sam2...). Chciałbym aby metoda ZmienDostępnosc podziałała na całej liście. Pozdrawiam i dziękuję za podpowiedzi. Cytuj
Kod Bez Dogmatów Napisano Sierpień 30 Zgłoś Napisano Sierpień 30 Uzyj Linq To Objecs. dodaj namespace using System.Linq; nastepnie dla wyszukiwania var mojSamochod = samochody.FirstOrDefault(s => s.marka == szukanaMarka); jesli nie znajdzie, to mojSamochod bedzie null, warto sprawdzic. Jesli oczekujesz wiecej wynikow niz 1 to zamiast FirstOrDefault uzyj Where(...).ToList(); Otrzymasz liste samochodow, ktore odpowiadaja szukanej marce. jesli iterujesz po calej kolekcji mozesz tez uzyc samochody.ForEach(s => Console.WriteLine($"{s.marka}\t\t\t{s.model}\t\t{s.rokProdukcji}\t\t\t{s.czyDostepny}")); Jesli chcialbys sie dowiedziec, jak twoj kod zaprojektowac, tak, a zeby, byl latwy do rozwijania, to zapraszam na moj kanal. Pozdrawiam. Cytuj
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.