Wpis z mikrobloga

@ugotowany_kamien: Przede wszystkim to masz pomieszane klasy. W NumbersOfTriangles deklarujesz Triangles i w metodzie Main wywołujesz ją samą. Do tego w metodzie DivisionOfTriangles deklarujesz zmienną o nazwie takiej samej jak nazwa klasy, czyli Triangles.
@ugotowany_kamien: W momencie tworzenia tablicy Values zmmienne abcd mają wartość 0 (nie przypisałeś wartości, a 0 jest domyślne dla int). więc Values to tablica zer. Nadpisanie abcd w kontruktorze nie zmieni wartości zapisanych w Values bo int jest typem wartości (ValueType) w c#, czyli nie korzystasz z referencji do obiektów, tylko kopiujesz wartości podczas tworzenie swojej tablicy. a - jak już pisałem - w tym momencie masz tam same zera
static int a, b, c, d;
int[] Values = { a, b, c, d };

teraz kopiujesz wartości a b c d do Values. problem w tym że teraz wszystkie mają wartość 0.

Values = new int[4];
int a, b, c, d = 0;

zadeklarowałeś tablicę i JEDNĄ zmienną (nie wiem czy chciałeś wszystkie, ale na wszelki wypadek zwracam uwagę)

Console.WriteLine("Podaj długość boku a: ");
a = Int32.Parse(Console.ReadLine());

przypisujesz wartość do zmiennej
@ugotowany_kamien: w przypadku ValueType kopiujesz wartości. zawsze. wszystko co dziedziczy po struct w c# jest valuetype. w tym każdy int.
jeżeli skopiujesz zero do tablicy, to w tablicy zostaje zero.
jeżeli skopiujesz do tablicy 5, to w tablicy zostaje 5.

w tym twoim pierwszym kodzie w tablicy values miałeś same zera, które potem znowu przepisywałeś do innej tablicy, dlatego zwracało ci "pustą" tablicę
@ugotowany_kamien:
nie jestem pewien co dokładnie chcesz zrobić.
nadpisać możesz.
możesz nadpisać całą tablicę
możesz nadpisać element tablicy

ale Twój problem tkwi w tym, że nie odróżniasz ValueType od ReferenceType w c#.
spróbuję Ci to zaraz jakoś rozpisać.