Tablica w tablicy struktur

0

Dopiero zaczynam przygodę z C#, więc wybaczcie proszę, jeśli mój problem jest trywialny. Chciałbym stworzyć tablicę w tablicy struktur, jednak nie wiem, jak to zrobić. Próbowałem w ten sposób:

public struct Stwor
    {
        public int[] Stat_Obr;    
    } 

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Stwor[] S = new Stwor[13];
        int[] Stat_Obr = new int[13];

Niestety pojawia się błąd: System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.

Możecie mi doradzić, w jaki sposób mógłbym to osiągnąć?

0

Witam,

A dlaczego nie możesz stworzyć klasy?

Pozdrawiam,

mr-owl

0

Nie używaj struktur, nie przez pierwszy rok nauki programowania.

0

Niestety pojawia się błąd: System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.

Gdzie? bo chyba nie w tym kodzie który podałeś.

0
using System;

public class Test
{
	public struct Stwor
    {
        public int[] Stat_Obr;    
    } 
	
	public static void Main()
	{
                //tworzymy tablice Stwor a nastepnie ustawiamy tablice pierwszemu z elementow
		Stwor[] S = new Stwor[13];
		// S[0].Stat_Obr jest teraz nullem i w razie proby uzycia rzuci wyjatek
		S[0].Stat_Obr = new int[13]; // teraz juz jest ok
	}
}

pare uwag:

  1. uzywaj class zamiast struct gdy masz modyfikowalne skladowe
  2. rozwaz przekazanie tablicy w konstruktorze, a wlasciwie
  3. zamiast tablicy jako skladowej pomysl o jakims typie lepiej oddajacym rzeczywistosc (zapewne jakas prosta klasa z parametrami)
0

Witam,

Ciągle nie widzę sensu by używać do tego struct albo jakiś zmiennych statycznych, lepsza byłaby lista + klasa z indekserem (https://msdn.microsoft.com/en-us/library/6x16t2tx.aspx)

Pozdrawiam,

mr-owl

1 użytkowników online, w tym zalogowanych: 0, gości: 1