Como saber o total de espaços preenchidos numa matriz?

Tem algum jeito de saber o total de espaços preenchidos numa matriz
tipo foram preenchidos apenas 5 espaços de 10

Está falando de um array simples:

int[] numeros = new int[10];

ou uma estrutura, como um ArrayList :

ArrayList numeros = new ArrayList();

?

Abraço.

using System;
class MainClass {
public static void Main (string[] args) {

  int[] a = new int[3];
  a[0] = 1;
  a[1] = 2;

  int espacoPreenchido = 0;
  for(int i = 0; i < a.Length; i++){
    if(a[i] == 0){
      //Espeaço não preencheido
    }else{
      espacoPreenchido++;
    }
  }
  Console.WriteLine("Foram preencheidos :"+espacoPreenchido+" de um total de : "+a.Length);

}
}