Wątek przeniesiony 2015-03-01 22:37 z C# i .NET przez somekind.

Lista z parametrem lista

2015-02-27 04:03
0

Witam!

Mam do was pytanie, zależy mi na zrobienie czegoś na zasadzie klasy która jako jeden ze swoich parametrów ma inną klasę. Chodzi mi o tworzenie obiektów które mają określone parametry i jeden z nich będzie miał nie określoną ilość i to własnie on miał by być listą, mój rysunek "miej więcej" zaprezentuje o co mi chodzi.

a2a25cd26d6af.jpg

Czy jest takie coś możliwe ? Jeśli tak to był bym wdzięczny za jakiś przykład składni jak takie coś napisać, ewentualnie inne pomysły na rozwiązanie problemu mile widziane.

Z góry dzięki za pomoc.

Pozdrawiam.

dodanie obrazka do załączników i treści posta - @furious programming

edytowany 2x, ostatnio: furious programming, 2015-03-01 23:08

Pozostało 580 znaków

2015-02-27 08:09
sgddg
0

ni w ząb nie rozumiem nic ani z wypowiedzi ani z rysunku
zapoznaj się chociaż pobieżnie z UML zanim przedstawisz jakieś schematy albo opisz jakoś rozsądniej, najlepiej daj przykład kodu

to normalne że klasa zawiera inne klasy (przez agregację) więc od razu odpowiem że jest to możliwe cokolwiek by to nie było

zapoznaj się też z podstawową terminologią - nie wiem co to są "parametry klasy"
naprawdę nic nie wiadomo z Twojego postu

Pozostało 580 znaków

2015-02-27 08:32
Wielki Orzeł
0
class Example
{
string at1 {get;set;}
string at2 {get;set;}

IList<Example> exampleList

public Example()
{
exampleList = new List<Example>();
}

}

???

dodanie znacznika <code class="csharp"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26

Pozostało 580 znaków

2015-02-27 14:32
0

oke napisałem coś takiego

class1:

namespace listawliscie
{
    public class osoba
    {
        public string imie { get; set; }
        public string nazwisko { get; set; }

        public List<int> lista_int; 
        public osoba(string Imie,string Nazwisko,List<int> Lista_int)//konstruktor
        {
            this.imie = Imie;
            this.nazwisko = Nazwisko;
            lista_int = new List<int>();
        }
    }
}

i próba stworzenia mojego obiektu:

namespace listawliscie
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        List<osoba> list = new List<osoba>();

        private void button1_Click(object sender, EventArgs e)
        {
            list.Add(new osoba("Paweł", "Janczak", lista_int.Add(1)));
        }

    }
}

lista_int.Add(1) <- tu jest problem z argumentem tej 2 listy bo nie wiem jak się do niej tu odwołać przy takim zapisie występuje błąd .

Jakieś sugestie jak powinien wyglądać ten argument?

`dodanie znaczników i ``` - @furious programming

edytowany 2x, ostatnio: furious programming, 2015-03-01 23:10
Wstawiaj kod w znaczniki kolorujące składnię; - furious programming 2015-03-01 23:11

Pozostało 580 znaków

2015-02-27 14:35
0
list.Add(new osoba("Paweł", "Janczak", new List<int>()));

Napisz co chcesz osiągnąć bo tak to błądzisz po omacku. Czym ma być ta lista w klasie osoba?

Edit:
Teraz patrze że to też nie ma sensu

public osoba(string Imie,string Nazwisko,List<int> Lista_int)//konstruktor
        {
            this.imie = Imie;
            this.nazwisko = Nazwisko;
            lista_int = new List<int>();
        }

Napisz do czego ci ta lista potrzebna.

edytowany 1x, ostatnio: dam1an, 2015-02-27 14:38

Pozostało 580 znaków

2015-02-27 14:36
Wielki Orzeł
0
list_int[index]

dodanie znacznika <code class="csharp"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26

Pozostało 580 znaków

2015-02-27 14:53
0

Już tłumaczę chce mieć listę osób(obiektów) ,osoba posiada imię ,nazwisko i zbiór nie określonej liczby "numerów" czyli wydaje mi się że najlepiej użyć do tego listy. Ma to wyglądać miej więcej tak:

imię: Paweł
nazwisko: Kowalski
zbiór: 52,35,5,10,1

imię: Michał
nazwisko: Jakiśtam
zbiór: 2,10,5,99

itd...

napisałem coś takiego:

public Form1()
        {
            InitializeComponent();
        }

        public List<osoba> list = new List<osoba>();
        public List<liczba> list_liczba = new List<liczba>();

        private void button1_Click(object sender, EventArgs e)
        {
            list.Add(new osoba("Paweł", "Janczak",new List<liczba>(5)));
            MessageBox.Show(list[0].imie + " " + list[0].nazwisko);
        }
namespace listawliscie
{
    public class osoba
    {
        public string imie { get; set; }
        public string nazwisko { get; set; }

        public osoba(string Imie,string Nazwisko,List<liczba> list_liczba)//konstruktor
        {
            this.imie = Imie;
            this.nazwisko = Nazwisko;
            list_liczba = new List<liczba>();
        }
    }
}
namespace listawliscie
{
    public class liczba
    {
        public int number { get; set; }

        public liczba(int n)
        {
            this.number = n;
        }
    }
}

i niby wszystko działa tylko jak teraz wyświetlić ten "zbiór liczb" bo list_liczba[0].number nie działa .

Z góry dzięki za pomoc.

dodanie znaczników <code class="csharp"> i <code class="none"> - @furious programming

edytowany 2x, ostatnio: furious programming, 2015-03-01 23:12

Pozostało 580 znaków

2015-02-27 15:03
class osoba
    {
        public string imie { get; set; }
        public string nazwisko { get; set; }
        public List<int> lista { get; set; }
    }

    class przyklad
    {
        public List<osoba> ludzie { get; set; }

        public przyklad()
        {
            ludzie.Add(new osoba()
                {
                    imie = "tadeusz",
                    nazwisko = "nowak",
                    lista = new List<int>
                    {
                        10, 20, 30
                    }
                });
        }

        public int jakasMetoda()
        {
            return ludzie[0].lista[2]; //zwroci 30
        }
    }

Taki przyklad na szybciora;)

edytowany 1x, ostatnio: FakeAccount, 2015-02-27 15:04

Pozostało 580 znaków

2015-02-27 15:15
0

takie błąd napotkałem

An unhandled exception of type 'System.NullReferenceException' occurred in lista2.exe

Additional information: Object reference not set to an instance of an object.

zamiana znacznika <quote> na <code class="none"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2015-03-01 23:13
Nie cytuj całego posta, jeśli piszesz zaraz pod nim! Niepotrzebnie wydłużasz wątek zmniejszając tym samym jego czytelność; - furious programming 2015-03-01 23:13

Pozostało 580 znaków

2015-02-27 15:17
0

ludzie jest nullem, zapomnialem zainicjowac gdzies. Dodaj przed dostepem do tej zmiennej:

ludzie = new List<int>()

Ewentualnie mozesz tez ta liste wypelnic przy definicji:

ludzie = new List<osoba>() { 
                new osoba()
                {
                    imie = "tadeusz",
                    nazwisko = "nowak",
                    lista = new List<int>
                        {
                            10, 20, 30
                        }
                },
                new osoba()
                {
                    imie = "zenek",
                    nazwisko = "kowalski",
                    lista = new List<int>
                        {
                            1,2,3
                        }
                }
            };
edytowany 2x, ostatnio: FakeAccount, 2015-02-27 15:20
ludzie = new List<osoba>(); - maniek910 2015-02-27 15:21
I niech CI Bóg w dzieciach wynagrodzi :) - maniek910 2015-02-27 15:21

Pozostało 580 znaków

2015-02-27 15:31
0

Jeszcze jedno pytanie, a jak teraz bym chciał dodać do tej listy liczb jakąś liczbę dla istniejącej już osoby ? Próbowałem takie coś :

ludzie[0].lista = new List<int>(100);
MessageBox.Show(ludzie[0].lista[3].ToString());

Ale napotykam błąd.

Już rozwiązałem problem

ludzie[0].lista.Add(5);
MessageBox.Show(ludzie[0].lista[3].ToString());

dodanie znaczników <code class="csharp"> - @furious programming

edytowany 2x, ostatnio: furious programming, 2015-03-01 23:07

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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