尽管我想使用数组或ArrayList,但我有一个包含将属性包含到“列表”中的类。我确信他们在使用这两种方法上都有一些限制。我在下面提供了这两种方法的示例;哪种方法更好?就内存使用而言,哪种方法更快?
public class Cat
{
public int CatId { get; set; }
public string CatName { get; set; }
public static void ListCats()
{
ArrayList cats = new ArrayList();
Cat cat = new Cat();
cat.CatId = 1;
cat.CatName = "Jim";
cats.Add(cat);
cat.CatId = 2;
cat.CatName = "Sally";
cats.Add(cat);
}
}
我了解ArrayList附带的方法使使用列表执行不同操作变得更加容易。另外,ArrayList不是强类型的集合。但是,如果需要定期从用户中提取列表中的值,则使用列表明确显示是否更有意义?在什么情况下应该使用数组代替?
public class Cats
{
public string CatName { get; set; }
public int CatId { get; set; }
}
public static void ListCats()
{
Cats[] cats = new Cats[];
Cats[] = {
CatName = "Charlie", CatId = 1;
CatName = "Missy", CatId = 2;
}
}
答案 0 :(得分:0)
遍历数组总是更快,但是列表在日常使用中更灵活,更有用。当您确实需要一点点优化(例如游戏开发)时,请使用数组,否则我将始终使用列表。
如果您需要更多信息,请参考以下链接:
When should I use a List vs a LinkedList
如果您想初始化对象集合,请使用以下语法
List<Cats> cats = new List<Cats>
{
new Cats { CatName = "Charlie", CatId = 1 },
new Cats { CatName = "Missy", CatId = 2 },
};