Inteiro n-ésimo menor

Crie uma função que retorne o n-ésimo menor inteiro em um array não ordenado, onde n = 1 significa o menor valor. Retorne null quando n for maior que o comprimento do array.

Exemplos

Program.NthSmallest(new[] { 1, 3, 5, 7 }, 1) ➞ 1
Program.NthSmallest(new[] { 1, 3, 5, 7 }, 3) ➞ 5
Program.NthSmallest(new[] { 1, 3, 5, 7 }, 5) ➞ null
Program.NthSmallest(new[] { 7, 3, 5, 1 }, 2) ➞ 3

Observações

n é no mínimo 1, e todos os valores do array são distintos.