我的Windows应用程序中有一个类,如下所示:
public class Pets
{
String Name {get;set;}
int Amount {get;set;}
}
在我的其他班级之一中,我像这样列出了该班级的清单。
List<Pets> myPets = new List<Pets>();
myPets.Add(new Pets{ Name = "Fish", Amount = 8});
myPets.Add(new Pets{ Name = "Dogs", Amount = 2});
myPets.Add(new Pets{ Name = "Cats", Amount = 2});
有没有办法获取
Pets
谁的索引Name = "Fish"
?我知道我可以做到
int pos = 0;
for(int x = 0; x<myPets.Count;x++)
{
if( myPets[x].Name == "Fish")
{
pos = x;
}
}
但是,如果我在
myPets
中有很多项目,则要花很长时间才能遍历它们以找到我要的项目。还有另一种方法可以完成上述任务。那会使我的应用程序运行得更快吗?如果myPets
中有很多项目。 最佳答案
如果您只想查找索引以访问列表的项目,则可以改用Dictionary。
var pets = new Dictionary<string, int>();
pets.Add("Dogs", 2);
pets.Add("Fish", 8);
int amount = pets["Fish"];