坚持列表<>

时间:2010-07-07 15:22:55

标签: c#

我有这个:

public class accounts
{
    private string mName;
    private string mEmail;
    private string mAddress;

    public accounts(string Name,
    string Email,
    string Address)
    {
        this.mName = Name;
        this.mEmail = Email;
        this.mAddress = Address;
    }
}

然后,在其他地方,我创造了这个:

private static List<accounts> mlocalaccountList = new List<accounts>()

然后我这样填写:

mlocalaccountList.Add(new accounts("John Smith","johnsmith@mail.com","CA USA"));

现在,一切正常,除了,如何访问列表&lt;&gt;项目?

10 个答案:

答案 0 :(得分:4)

像数组一样的索引器

mlocalaccountList[0]

答案 1 :(得分:4)

foreach (accounts a in mlocalaccountList) { /* do something */ }

将遍历列表。

答案 2 :(得分:4)

您可以在foreach循环中访问它们:

foreach (var item in mlocalaccountList) {
  ...
}

但是,由于所有成员都是私人成员,因此根本无法访问它们。考虑为私人成员制作属性或将其公开。

您也可以通过索引访问它们:

mlocalaccountList[0]

是列表中的第一项。

答案 3 :(得分:2)

尝试mlocalaccountList[0]

foreach (accounts acct in mlocalaccountList)
{
    // Do something with acct
}

答案 4 :(得分:2)

我建议您使用foreach语句或仅使用index变量mlocalaccount[index]

进行访问

答案 5 :(得分:1)

你可以迭代它们:

foreach (var item in mlocalaccountList)
{
    // do stuff with item
}

您可以使用LINQ:

var usaItems = mlocalaccountList.Where(a => a.Address.Contains("USA"));
   // assuming you implement a public property for Address

答案 6 :(得分:1)

以下是List<T> MSDN page的链接。 Members page列出了您可用的所有方法和属性。例如,您可以在ForEach找到帮助。

MSDN库(http://msdn.microsoft.com/en-us/library/)是关于类及其成员的宝贵信息来源。

答案 7 :(得分:1)

到目前为止,只需将每个人的答案列表组合在一起:

  1. 在列表中使用索引器:mlocalaccountsList[i]将返回第i个元素(当然是从0开始的索引)
  2. 使用循环遍历列表。 foreach(var account in mlocalaccountList)可以轻松地为您提供每个元素。
  3. 使用LINQ查询过滤掉列表中的特定元素。 LINQ有两种不同风格的编写查询:

    var result = mlocalaccountList.Where(a => a.Name == "John Smith"))
    // or
    var result = from a in mlocalaccountList
             where a.Name == "John Smith"
             select a;
    

答案 8 :(得分:0)

使用foreach声明:

foreach (accounts acc in mlocalaccountList)
{
 ... do something with acc
}

答案 9 :(得分:0)

虽然我不用C#编程,但我相信它是:mlocalaccountList[index]其中index是一个int。