Witam!
Powiedzcie mi jakie są sposoby na stworzenie tablicy dwuwymiarowej stringów ,o 3 kolumnach i nieskonczenie wielu wierszach?
Da się to robic bez tworzenia kopii tablicy?
Mam np
int rows=1;
int colls = 3;
string[,] Baza = new string[rows,colls];
I chce pobierać do tej tablicy 3 pola (imie, nazwisko, wiek)
Po prostu chce dodawać kolejne wiersze i wypelniać te 3 kolumny bazy.
Macie jakieś pomysły?
Do tej pory napisałem coś takiego:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Rekordy_danych
{
class Program
{
static void Menu()
{
Console.WriteLine("========================================================");
Console.WriteLine("================== BAZA DANYCH =========================");
Console.WriteLine("========================================================");
Console.WriteLine(" 1 - aby dodac nowy rekord ");
Console.WriteLine(" 2 - aby usunac jakis rekord ");
Console.WriteLine(" 3 - aby wyswietlic wszystkie rekordy ");
Console.WriteLine(" 4 - aby posortować rosnaco i wyswietlic ");
Console.WriteLine(" 5 - aby posortowac malejaco i wyswietlic ");
Console.WriteLine(" 6 - aby zapisac do pliku ");
Console.WriteLine(" 7 - aby wydrukowac ");
Console.WriteLine(" 0 - aby wyjsc ");
Console.WriteLine("========================================================");
Console.WriteLine();
Console.WriteLine();
}
static void ZwiekszRozmiar(ref string[,] TAB1, uint zwiekszo)
{
int wiersze = TAB1.GetLength(0);
int kolumny = 3;
string[,] TAB2 = new string[wiersze+zwiekszo,kolumny];
for (int i = 1; i <= TAB1.GetLength(0)-1; i++)
{
for (int j = 1; j <= TAB1.GetLength(1)-1; j++)
{
TAB2[i,j] = TAB1[i,j];
}
}
}
static void DodajRekord(ref string[,] TAB1)
{
for (int i = 0; i < TAB1.GetLength(0); i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("Podaj imie nr "+(i+1)+ " :");
TAB1[i, 0] = Console.ReadLine();
Console.WriteLine("Podaj nazwisko nr " + (i + 1) + " :");
TAB1[i, 1] = Console.ReadLine();
Console.WriteLine("Podaj wiek nr " + (i + 1) + " :");
TAB1[i, 2] = Console.ReadLine();
}
}
ZwiekszRozmiar(ref TAB1, 1);
}
static void WyswietlRekordy(string[,] TAB1)
{
Console.WriteLine(" IMIE "+" NAZWISKO "+" WIEK ");
for (int i = 0; i < TAB1.GetLength(0); i++)
{
for (int j = 0; j < TAB1.GetLength(1); j++)
{
Console.Write(TAB1[i,j]);
}
Console.WriteLine();
}
}
static void Main(string[] args)
{
int rows = 1, cols = 3;
string[,] BazaDanych = new string[rows, cols];
int wybor = 0;
do{
Menu();
wybor = int.Parse(Console.ReadLine());
switch (wybor)
{
case 1: /////////////// dodawanie nowego rekordu
{
Console.WriteLine("==========Dodawanie nowego rekordu===============");
Console.WriteLine();
//ZwiekszRozmiar(ref BazaDanych, 1);
DodajRekord(ref BazaDanych);
break;
}
case 2: ////////////// usuwanie rekordu
{
break;
}
case 3: ///////////// wyswietlanie wszystkich rekordow
{
break;
}
case 4: ////////////// sortowanie malejaco
{
break;
}
case 5: ////////////////// sortowanie rosnaco
{
break;
}
case 6: ///////////////// zapis do pliku
{
break;
}
case 7: /////////////// drukowanie
{
break;
}
case 0: /////////////////// wyjscie z aplikacji
{
Console.WriteLine("Do widzenia!");
Environment.Exit(1);
break;
}
default: /////////////// domylsnie
{
Console.WriteLine("Bledna opcja! Wybierz ponownie!");
break;
}
}
}
while(wybor != null);
}
}
}