2012-12-19 14 views
10

Mam DisplayedData klasę ...Konwersja klasę na tablicy

public class DisplayedData 
    { 
    private int _key; 
    private String _username; 
    private String _fullName; 
    private string _activated; 
    private string _suspended; 


    public int key { get { return _key; } set { _key = value; } } 
    public string username { get { return _username; } set { _username = value; } } 
    public string fullname { get { return _fullName; } set { _fullName = value; } } 
    public string activated { get { return _activated; } set { _activated = value; } } 
    public string suspended { get { return _suspended; } set { _suspended = value; } } 
    } 

I chcę, aby umieścić obiekty z tej klasy do tablicy, gdzie wszystkie obiekty wewnątrz tej klasy powinny być zamienione na ciąg []

mam ..

DisplayedData _user = new DisplayedData(); 
String[] _chosenUser = _user. /* Im stuck here :) 

lub można utworzyć układ w którym wszystkie elementy wewnętrzne są składają zmiennych innymi danymi wpisz tak, aby liczba całkowita była liczbą całkowitą, a więc również ciągi znaków?

+0

Potrzebujesz więcej informacji zaoferować dobrą odpowiedź. Istnieje wiele odpowiedzi na to, co masz tutaj ... Czy próbujesz zebrać listę użytkowników? Dlaczego ciąg []? –

+1

Czy chcesz skopiować każdą właściwość do tablicy ciągów? Co masz na myśli, gdy mówisz "gdzie wszystkie obiekty wewnątrz tej klasy powinny zostać przekształcone w String []" masz tylko ints i stringi w klasie, nie ma sensu konwertować ich na ciąg [], ale możesz chcieć skopiować do napisu []. – ryadavilli

+0

Chcę skopiować wszystkie publiczne int i ciągi tej klasy do tablicy –

Odpowiedz

15

Można utworzyć tablicę "własnymi rękami" (patrz Arrays Tutorial):

String[] _chosenUser = new string[] 
{ 
    _user.key.ToString(), 
    _user.fullname, 
    _user.username, 
    _user.activated, 
    _user.suspended 
}; 

Albo można użyć Reflection (C# Programming Guide):

_chosenUser = _user.GetType() 
        .GetProperties() 
        .Select(p => 
         { 
          object value = p.GetValue(_user, null); 
          return value == null ? null : value.ToString(); 
         }) 
        .ToArray(); 
+0

Dziękuję bardzo :) –

Powiązane problemy