Por que o .NET Framework não usa tipos de dados não assinados? [duplicado]

Possível duplicado:
Por que Array.Length é um int e não um uint

Existe um motivo para o .NET Framework não usar tipos de dados não assinados?

Eu não deveria adotá-los no meu código, mas, por exemplo, oContagem A propriedade de uma lista <> é um int. Você não pode ter uma contagem negativa, então por que não deveria ser definido como um uint? Devo usar apenas int's, mesmo sabendo que a contagem não pode ser negativa?

questionAnswers(4)

yourAnswerToTheQuestion