Wątek przeniesiony 2016-10-27 12:02 z C# i .NET przez DibbyDum.

Klasa z metodą zwracającą tablicę.

0

Witam.

Mam do rozwiązania być może trywialny problem, jednak nie jestem w stanie w żaden sposób się do niego zabrać, nie mam na niego pomysłu.

Jest klasa, która ma 2 metody zwracające tablice oraz kilka metod z rezultatem skalarnym.
Problem jest taki, że nie mogę modyfikować definicji metod.

Oto kod klasy:

public class Persons
{
  public string FirstName {get; set;}
  public string LastName {get;set;}
  public string Country {get; set;}
                
  public Persons[] Remove(Persons person)
  {
  }

  public Persons[] Add(Persons person)
  {
  }
               
  public boolean Exist(Persons person)
  {
  }

  public boolean IsCountry(persons person)
  {
  }
}

Problem jest z implementacją metody Add oraz Remove.
Czy ktoś mógłby mi wskazać jak podejść do tego problemu?

1

Dlaczego klasa Persons (osoby) zawiera dane tylko jednej osoby? Dlaczego obiekt tej klasy zawierający dane jednej osoby dodaje do tablicy nową osobę? Na pewno masz dobrą definicję klasy? To co przedstawiłeś nie ma sensu.

1

Witam,

Jak dla mnie to coś Ci brakuje, gdzie planujesz przechowywać dane które chcesz dodawać albo odejmować z klasy, przydałaby się jakaś lista (w C# List to tak Array)

private readonly List<Person> persons = new List<Person>();

i dalej już prosto dodajesz lub odejmujesz elementy tej listy.

Pozdrawiam,

mr-owl

0

@Sarrus taka jest treść zadania,

@mr-owl Lista listą, ale jak sprawić aby metoda public Persons[] Add(Persons person) zwróciła tablicę?

Z tego co zrozumiałem z treści zadania (a było nią implementacja metod), to wynika, że jak stworze program z użyciem tej klasy, to powinienem móc działać tak, jak na listach, ale bez ich definiowania, coś na zasadzie:

Persons person = new Persons();
Persons person2 = new Persons();

person.FirstName = "Jan";
person.LastName = "Kowalski";
person.Country = "Polska";

person2.add(person);

Chyba, że nie da się tak zrobić i trzeba zmodyfikować tą klasę?

0

da po prostu dodaj liste w tej klasie jako private. Pokaż tresc ;) .
I co z sytuacja gdy berson jeden zawiera kilku innych ludzi i wywołujesz Exist lub remove?

0

@topik92 oto treść:

Twoim zadaniem jest implementacja wszystkich metod zadeklarowanych w tej klasie, bez modyfikowania jej deklaracji, zgodnie z opisem metody.
W przypadku nieścisłości w opisie metody, dozwolona jest dowolna implementacja, opatrzona komentarzem, z jakiego powodu została wybrana.

Tylko parametrem wejściowym metod są wartości skalarne nie tablicowe, więc nie powinno być chyba z tym problemu?

0

@john_klamka Dzięki, w sumie głupio, że sam na to nie wpadłem :(
abstrahując od tego rozwiązania, czy da się coś takiego rozwiązać bez używania list?

0

Jeszcze raz dzięki za pomoc.

1
horun napisał(a):

@Sarrus taka jest treść zadania

Przyślij tu mi tego nauczyciela. Mamy z nim do pogadania :P ;)

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