Problem z tablicami C#

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.