其他分享
首页 > 其他分享> > 列表操作获取列表的索引

列表操作获取列表的索引

作者:互联网

我的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});

有什么办法可以让我获得“宠物谁的名字=鱼”的索引?

我知道我可以做到

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"];

标签:collections,windows-8,c
来源: https://codeday.me/bug/20191122/2062287.html