我在使用C#从ArrayList集合中检索数据时遇到问题。我将一个类保存到ArrayList中。该代码用于保存数据,但我不知道如何编写代码来检索它。我认为 _serviceList [0] ._ displayName 将检索第一个项目,但它失败了。如何查看ArrayList中的所有项?
感谢。
class Service
{
public string _displayName;
public ServiceControllerStatus _status;
public Service ()
{
_displayName = "";
_status = ServiceControllerStatus.Stopped;
}
public Service (string displayName, ServiceControllerStatus status)
{
_displayName = displayName;
_status = status;
}
}
class Program
{
public static ArrayList _serviceList = new ArrayList ();
public Program ()
{
_serviceList = null;
}
static void Main (string [] args)
{
.
.
.
_serviceList.Add (new Service (service.DisplayName, service.Status));
}
// The following code doesn't work.
Console.WriteLine (_serviceList [0]._displayName);
答案 0 :(得分:2)
如果您正在使用.Net framework 2.0或更高版本,请使用List<T>
一个通用的,类型安全的List版本,只需更改line
public static ArrayList _serviceList = new ArrayList ();
到
public static List<Service> _serviceList = new List<Service>();
可以解决您的问题。
但是,如果你正在使用低于2.0的框架,那么你必须明确地将对象转换为Service
,如:
Console.WriteLine (((Service)_serviceList [0])._displayName);
因为ArrayList
将从object
类型返回,而不是Service