Aquí hay una versión de la solución de LINQ Fredrik. Tenga en cuenta que Enumerable.Range
produce un IEnumerable<int>
, por lo que primero debe convertir a caracteres. Cast<char>
habría trabajado en 3.5SP0 creo, pero a partir de 3.5SP1 que tiene que hacer un "adecuado" conversión:
var chars = Enumerable.Range(0, char.MaxValue+1)
.Select(i => (char) i)
.Where(c => !char.IsControl(c))
.ToArray();
He creado el resultado como una matriz como eso es lo que la pregunta pidió - es no necesariamente la mejor idea sin embargo. Depende del caso de uso.
Tenga en cuenta que esto tampoco considera caracteres Unicode completos, solo aquellos en el plano multilingüe básico. No sé qué devuelve para sustitutos altos/bajos, pero al menos vale la pena saber que un solo char
realmente no le permite representar todo :(
definir imprimible – AnthonyWJones
Por favor, defina "imprimir" -.? ¿quiere decir simplemente "caracteres imprimibles ASCII" (según ilivewithin's answe r) o le gustaría incluir caracteres acentuados? –
Supongo que por impresión estamos hablando de imprimibles en papel? Si busca solo una búsqueda de Asci http://www.asciitable.com es una. Para unicode charmap.exe es la opción obvia. –