Necesito un programa que se filtre y muestre solo letras mayúsculas de una cadena. Tengo una cadena de ejemplo:
c5hDF (5HА_Z * u1BP
Se supone que debo obtener:
DFHAZBP
Intenté esto:
string a = Console.ReadLine();
No pude usar 'a' en una declaración IF porque hay un error que dice
Error CS0200 La propiedad o el indexador 'string.this [int]' no se pueden asignar, es de solo lectura
Traté de hacerlo mucho porque no puedo pensar en otra forma. Básicamente le dije al programa que revisara cada parte de la cadena si es una letra mayúscula como esta:
for (i = 0; i < a.Length; i++)
{
if (a[i] = "Q")
{
b = b + a[i];
}
}
Estaba pensando en hacerlo para cada letra pero no funciona. También probé:
string v = a;
Y luego escriba v en todos los 'si' pero tampoco funcionó.
3 respuestas
Error tipográfico simple:
if (a[i] = "Q")
Debe ser
if (a[i] == "Q")
Para una comparación, no una tarea.
Simplemente puede usar IsUpper () para su salida deseada. He intentado el código según sus requisitos. Por favor, consulte el siguiente código.
static void Main(string[] args)
{
string text = "IsHanKsHaH";
char[] charArray = text.ToCharArray();
foreach(var ch in charArray)
{
if(Char.IsUpper(ch))
{
Console.Write(ch);
}
}
Console.ReadLine();
}
El resultado será IHKHH
Como AKX dijo que solo tienes un error tipográfico simple.
Sin embargo, parece que tiene la intención de verificar cada carácter de cadena con A, B, C, etc., lo cual es muy engorroso y realmente no es necesario. El marco ya tiene char.IsUpper para verificar si Un personaje es una letra mayúscula.
Además, en lugar de un bucle, podría usar LINQ para simplificar su código:
var b = new string(a.Where(char.IsUpper).ToArray());
Para a = "c5hDF(5HА_Z*u1BP"
esto produce b = "DFHАZBP"
.
Esto toma su cadena a
y la convierte a través de LINQ en una secuencia de caracteres, luego los filtra si están en mayúsculas, convirtiendo la secuencia filtrada en una matriz, que luego puede usarse usando un constructor de cadenas para convertirlo en una cadena.
Nuevas preguntas
c#
C # (pronunciado "see sharp") es un lenguaje de programación multi-paradigma de alto nivel, estáticamente tipado desarrollado por Microsoft. El código C # generalmente se dirige a la familia de herramientas y tiempos de ejecución .NET de Microsoft, que incluyen .NET Framework, .NET Core y Xamarin, entre otros. Use esta etiqueta para preguntas sobre el código escrito en las especificaciones formales de C # o C #.