这似乎是一个愚蠢的问题,但这是我从未找到过的答案。
如果我有一个类的数组:
public class Folder
{
public int Id { get; set; }
public string Name { get; set; }
}
public Folder[] folders = new Folder[] {};
有没有办法在没有循环的情况下返回所有ID实例并将它们全部收集起来?
如果没有,你认为最好的做法是什么,以便我有一个整数数组?
提前致谢,
SumGuy
P.S。如果有人能够为这个问题提出一个更合适的标题,那也是值得赞赏的
答案 0 :(得分:7)
为了获得ID列表
,你必须在一段时间内循环它们您可以通过这种方式获得一系列ID:
int[] Ids = folders.Select(f => f.Id).ToArray();
(必须使用.NET 3.5或更高版本 - 以上在内部执行循环,因此它仍在循环中)
答案 1 :(得分:2)
public class Folder
{
public int Id { get; set; }
public string Name { get; set; } }
// Try to avoid exposing data structure implementations publicly
private Folder[] _folders = new Folder[] {};
public IEnumerable<Folder> Folders
{
get
{
return this._folders;
}
}
public IEnumerable<int> FolderIds
{
get
{
// Linq knows all
return this._folders.Select(f => f.Id);
}
}
}