所以我试图通过getElementById
尝试在JavaScript中执行类似的操作。
我想做这样的事情:
class Animal
{
string id;
}
public Animal Zebra = new Animal();
Zebra.id = "abc";
//and then get it like this
var foo = getAnimalId("abc");
然后它返回Zebra。有什么办法吗?感谢
答案 0 :(得分:2)
使用密钥为ID的Dictionary<string, Animal>
。然后你可以使用Dictionary<TKey, TValue>.TryGetValue
:
var animalIDs = new Dictionary<string, Animal>();
animalIDs.Add(Zebra.id, Zebra);
// ....
Animal animal;
bool containsAnimalID = animalIDs.TryGetValue("abc", out animal);
if(containsAnimalID)
{
// do something with the zebra ...
}
答案 1 :(得分:0)
问题很模糊,所以很难理解你需要什么样的帮助。但我会试着给你一个答案。
首先,您必须将动物存放在列表中。
public List<Animal> _animals = new List<Animal>();
当你创造动物时,你必须将它们添加到列表中。
Animal zebra = new Animal();
zebra.id = "abc";
_animals.Add(zebra);
然后,您可以检查身份abc
的动物是否存在:
if(_animals.Any(a => a.id == "abc"))
并得到这样的动物:
Animal animal = _animals.FirstOrDefault(a => a.id == "abc");
List.FirstOrDefault()
允许您获取与id匹配的第一个动物,如果不存在,则返回null
。