Переменная списка привязок одна за другой - PullRequest
1 голос
/ 13 мая 2010

это мой класс

public class Users
    {
       public string Name { get; set; }
       public int Age { get; set; }
       public string Gender { get; set; }
       public string Country { get; set; }
    }

я определяю переменную списка

List<Users> myList = new List<Users> 

у меня есть четыре функции, каждая из которых возвращает массив строк

{of  data content like, names, age, gender, country}
**functions names**
 FunNames();
 FunAge();
 Fungender();
 Funcountry();

Теперь мне нужно связать эти эти возвращаемые значения всех этих функций в список один за другим. как.

myList =FunNames();
myList =FunAge();
myList Fungender();
.....

надеюсь, мой вопрос ясен. любая помощь будет велика, спасибо.

Ответы [ 2 ]

1 голос
/ 13 мая 2010

Насколько я знаю, не существует простого способа сделать то, что вам нужно. Вы должны выполнить итерацию всех этих массивов, сгенерировать экземпляры Users и добавить их в свой список.

string[] names = FunNames();
string[] ages = FunAge();
string[] genders = Fungender();
string[] countries = FunCountry();

/* have to make sure they are not of different lengths */

int minLength = names.Length;

if (ages.Length < minLength)
    minLength = ages.Length;

if (genders.Length < minLength)
    minLength = genders.Length;

if (countries.Length < minLength)
    minLength = countries.Length;

for(int i=0 ; i < minLength; i++)
{
    Users item = new Users();
    item.Name = names[i];
    item.Age = int.Parse(ages[i]);
    item.Gender = genders[i];
    item.Country = countries[i];

    myList.Add(item);
}
0 голосов
/ 13 мая 2010

Если я правильно понимаю вашу проблему, FunNames() и др. каждый возвращает часть объекта Users. Это может немного осложнить вашу проблему, поскольку данные для каждой части объекта Users хранятся в отдельном массиве. Можем ли мы предположить, что каждый массив имеет одинаковую длину и что соответствующие позиции в каждом массиве объединяются для создания различных свойств в объекте Users? Если это так, мы можем использовать такой код:

public List<Users> GetUsersList()
{
    List<Users> myList = new List<Users>();
    string[] names = FunNames();
    string[] ages = FunAge();
    string[] genders = Fungender();
    string[] countries = Funcountry();

    for (int i = 0; i < names.Length; i++)
    {
        Users user = new Users();
        user.Name = names[i];
        user.Age = names[i];
        user.Gender = names[i];
        user.Country = names[i];
        myList.Add(user);
    }

    return myList();
}

Приведенный выше код будет перебирать каждый из массивов строк, возвращаемых вашими функциями, а затем заполнять объект Users и добавлять их в список. Опять же, это предполагает, что ваши массивы "выстраиваются" и имеют одинаковую длину.

ПРИМЕЧАНИЕ. Вы можете изменить имя Users на User. Подумайте об этом: объект User говорит программисту, что он должен ожидать один User, а не несколько User s. Ваш myList объект представляет несколько отдельных User с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...