Números inteiros assinados versus não assinados para comprimentos / contagens

Para representar uma variável de comprimento ou contagem, é melhor usarassinado ousem assinatura inteiros?

Parece-me que o C ++ STL tende a preferirsem assinatura (std::size_tcomo emstd :: vector :: size ()em vez disso, C #BCL tende a preferirassinado inteiros (como emICollection.Count.

Considerando que um comprimento ou uma contagem são inteiros não negativos, minha intuição escolheriasem assinatura; mas não consigo entender por que os designers do .NET escolheram números inteiros assinados.

Qual é a melhor abordagem? Quais são os prós e contras de cada um?

questionAnswers(4)

yourAnswerToTheQuestion