Wątek przeniesiony 2018-04-13 02:48 z Newbie przez somekind.

Inicjalizacja struktur w C#

2018-04-12 21:16
0

Cześć

Mam przykładową strukturę:

        struct TestowaStruktura
        {
            public int x;
            public int y;
        }

Chcę przypisać do zmiennych wartości:

            TestowaStruktura ts = new TestowaStruktura
            {
                x = 1,
                y = 5
            };

Z tego co znalazłem w książce to powinno się to dać zrobić też w taki sposób:

TestowaStruktura t2 = {2, 6};

Albo nawet tak:

TestowaStruktura t2 {2, 6};

Dostaję komunikat, że muszę użyć wyrażenia "new".
Gdzie robię błąd?

Cały kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        struct TestowaStruktura
        {
            public int x;
            public int y;
        }
 
        static void Main(string[] args)
        {
 
            Console.WriteLine("test");
            TestowaStruktura ts = new TestowaStruktura
            {
                x = 1,
                y = 5
            };
            Console.WriteLine(ts.x + " " + ts.y);
            TestowaStruktura t2 = {2, 6};
        }
    }
}

Pozostało 580 znaków

2018-04-12 22:11
2

Nie słyszałem o takim sposobie inicjalizacji struktur w C#. W taki skrótowy sposób można inicjalizować tablice.

int[] array1 = new int[] { 3, 4 };
int[] array2 = new[] { 3, 4 };
int[] array3 = { 3, 4 };

Może chodziło Ci o C++: https://stackoverflow.com/que[...]lled-and-can-it-be-controlled?
Jeśli chodziło o C#, to możesz podać cytat z książki?

edytowany 5x, ostatnio: Burmistrz, 2018-04-12 22:20

Pozostało 580 znaków

2018-04-12 22:34
0

Mój błąd, przedstawiona inicjalizacja dotyczyła C++ (pisząc w C# czytałem o struktura z książki do C++).
Czyli w C# można tylko inicjalizować struktury za pomocą wyrażenia 'new'?

edytowany 1x, ostatnio: furious programming, 2018-04-12 23:35

Pozostało 580 znaków

2018-04-12 23:03
1

Struktury w C# to zupełnie inne struktury danych niż te znane z C/C++ i radzę zapoznać się z tymi różnicami w celu jak najszybszego uniknięcia przykrych niespodzianek vide np. stosowanie ich jako zamienników klas.

edytowany 2x, ostatnio: grzesiek51114, 2018-04-12 23:05

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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