用c#在数组列表中检索数据

本文关键字:检索 数据 列表 数组 | 更新日期: 2023-09-27 18:10:22

我使用c#从ArrayList集合检索数据有问题。我把一个类保存到数组列表中。代码可以保存数据,但我不知道如何编写代码来检索数据。我认为_serviceList[0]。_displayName将检索第一项,但它失败了。如何查看数组列表中的所有元素?

谢谢。

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);

用c#在数组列表中检索数据

如果你在。net框架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