Como exibir quantas vezes um elemento da matriz aparece

Eu sou novo em c # e espero que eu possa obter alguma ajuda sobre este tópico. Eu tenho uma matriz com elementos e preciso exibir quantas vezes cada item aparece.

Por exemplo, em[1, 2, 3, 4, 4, 4, 3], 1 aparece uma vez,4 aparece três vezes e assim por diante.

Eu fiz o seguinte, mas não sei como colocá-lo na declaração foreach / if ...

int[] List = new int[]{1,2,3,4,5,4,4,3};
foreach(int d in List)
{
    if("here I want to check for the elements")
}

Obrigado, e desculpe se isso é muito básico ...

questionAnswers(5)

yourAnswerToTheQuestion