Cześć.
Mam plik z danymi postaci: imie,nazwisko;
Tworzę w programie z nich listę.
Czy mogę utworzyć dla każdego elementu z listy nowy obiekt?
Tak żeby dla wybranego obiektu móc używać metod itd?
Tutaj kod programu.
W pętli foreach metoda robi to co powinna ale obiekt jest ciągle nadpisywany. Jak osiągnąć efekt aby każda linia była nowym obiektem?
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace plikitekstowe
{
internal class Program
{
static void Main(string[] args)
{
List<string> osoby = new List<string>();
StreamReader sr = new StreamReader("tekst.txt");//tu mam listę osób imie,nazwisko
string tekst= sr.ReadLine();
while (tekst!=null)
{
osoby.Add(tekst); ///tutaj otrzymuję listę osób z pliku
tekst = sr.ReadLine();
}
sr.Close();
foreach (var item in osoby)
{
Osoby osoba = new Osoby(item.Split(',')[0] , item.Split(',')[1]);
osoba.PrzedstawSie();
}
Console.WriteLine();
///Chciałbym tutaj móc użyć metody PrzedstawSie() dla konkretnego obiektu osoba
//np osoba[0].PrzedstawSie()
// osoba[1].PrzedstawSie()
Console.ReadKey();
}
}
}
Tutaj kod napisanej klasy
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace plikitekstowe
{
internal class Osoby
{
string Imie;
string Nazwisko;
public Osoby(string imie, string nazwisko)
{
Imie = imie;
Nazwisko = nazwisko;
}
public void PrzedstawSie()
{
Console.WriteLine("Nazywam się "+Imie);
}
}
}