Voici une version LINQ de la solution de Fredrik. Notez que Enumerable.Range
donne un IEnumerable<int>
donc vous devez d'abord convertir en caractères. Cast<char>
aurait travaillé dans 3.5SP0 je crois, mais de 3.5SP1 vous devez faire une conversion « correcte »:
var chars = Enumerable.Range(0, char.MaxValue+1)
.Select(i => (char) i)
.Where(c => !char.IsControl(c))
.ToArray();
J'ai créé le résultat comme un tableau comme c'est ce que la question a demandé - il est pas nécessairement la meilleure idée cependant. Cela dépend du cas d'utilisation.
Notez que cela ne tient pas compte des caractères Unicode complets, uniquement ceux du plan multilingue de base. Je ne sais pas ce qu'il retourne pour les substituts hauts/bas, mais il vaut mieux au moins savoir qu'un seul char
ne vous permet pas vraiment de tout représenter :(
définir imprimable – AnthonyWJones
S'il vous plaît définir « imprimer » -.? voulez-vous dire que des « caractères ASCII imprimables » (selon la réponse de ilivewithin r) ou voudriez-vous inclure des caractères accentués? –
Je suppose qu'en imprimant on parle d'imprimable sur papier? Si vous cherchez juste une recherche ascii http://www.asciitable.com est un. Pour unicode charmap.exe est l'option évidente. –