我有这个:
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;项目?
答案 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)
到目前为止,只需将每个人的答案列表组合在一起:
mlocalaccountsList[i]
将返回第i个元素(当然是从0开始的索引)foreach(var account in mlocalaccountList)
可以轻松地为您提供每个元素。使用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。