绑定列表变量一个接一个

时间:2010-05-13 10:47:12

标签: c# asp.net c#-3.0

这是我的班级

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 个答案:

答案 0 :(得分:1)

据我所知,没有简单的方法可以满足您的需求。您必须迭代所有这些数组,生成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);
}

答案 1 :(得分:0)

如果我正确理解您的问题,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。您的myList对象代表多个User s。