Piszę program, który poprzez strukturę reprezentuje pojedyńczy kontakt (imię, nazwisko, email), dane pobieram poprzez osobną funkcje.
numer telefonu raczej nie jets typem integer… np: 547-535-345 ? albo podaj oczekiwany format.
a czemu ma to być tablica stringów ? Ja przez strukturę danych bym uważał obiekt, w formie instancji klasy lub struktury. np:
class Person{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Phone {get;set;}
}
a jak nie to trzymaj to jako tablice tablic, czy też tablicę dwuwymiarową.
Może napisz lepiej co chcesz osiągnąć, bo kod, który pokazałeś to jakiś - nie obraź się - koszmarek. Motoda main wewnątrz klasy wewnątrz struktury? Zmienne nazwane a, b, c. Telefon jako int. Cokolwiek znaczy “tablice przechowywującą i odczytującą informacje”?
Chodzi Ci z tablicą o to, żeby było wiele tych osób?
edit:
Chodziło Ci o coś takiego?
using System;
using System.Collections.Generic;
namespace PostDobreProgramy
{
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
}
class Program
{
static void Main(string[] args)
{
ListPerson people = new ListPerson();
while(true)
{
Person person = new Person();
Console.Write("Podaj imię: ");
person.FirstName = Console.ReadLine();
Console.Write("Podaj nazwisko: ");
person.LastName = Console.ReadLine();
Console.Write("Podaj telefon: ");
person.Phone = Console.ReadLine();
people.Add(person);
Console.Write("Koniec t/n? ");
if(Console.ReadLine().Trim() == "t")
{
break;
}
}
Console.WriteLine();
Console.WriteLine("Pobrane osoby:");
foreach(Person p in people)
{
Console.WriteLine($"Imię: {p.FirstName} Nazwisko: {p.LastName} Telefon: {p.Phone}");
}
Console.WriteLine();
Console.WriteLine("Naciśnij dowolny klawisz aby zakończyć");
Console.Read();
}
}
}
Chodzi mi o to, żeby dane były w tablicy a struktura ma przedstawiać te kontakty, u Ciebie jest to klasa.
W twoim kodzie nie rozumiem wersu
List<Person> people = new List<Person>();
W .NET struktura od klasy różni się tym, że jest odkładana na stosie a nie na stercie. Semantycznie jest to praktycznie to samo (struktura ma mniej “opcji”). Oczywiście klasa też jest strukturą danych.
Generalnie bardzo rzadko używa się struktur, w sensie typu danych struct - MSDN. Jeśli koniecznie musisz, to w tym wypadku wystarczy zmienić słowo kluczowe class na struct.
List<People> to typ danych listy, do której możesz dynamicznie dodawać elementy - MSDN. Ciężko używać tablicy, jeśli nie wiesz ile będzie danych (jaki rozmiar zadeklarować).
Jeśli koniecznie chcesz mieć tablicę, może na koniec zrobić:
People[] peopleArray = people.ToArray();
Widziałem, że utworzyłeś tez kilka innych podobnych wątków. Mam wrażenie, że próbujesz trochę programować na zasadzie zgadywanki i wyrywkowego podpytywania się na forum. Nie tędy droga. Programowanie wymaga metodycznego podejścia. Zanim się za to weźmiesz moim zdaniem powinieneś przeczytać przynajmniej kilka pierwszych rozdziałów jakiejś książki o .NET/C#.
Dopiero się uczę, na studiach zaocznych nie ma się tyle czasu na naukę programowania a wykłady nie wystarczają do rozwiązywania zadanych zadań, dlatego często pytam o podpowiedź.
Ogarnąłem zadanie, dzięki za pomoc,
Znasz jakąś dobrą, którą czytałeś bądź wiesz, że zawiera dobrze zebrane i opisane informacje na temat C#?
Niestety nic nie polecę. Od dawna nie czytałem o tym żadnej książki. Polecam wejść na amazon.com, wpisać c# w wyszukiwaniu i poczytać opinie.