elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  C# Duda, comparacion de array int - string
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: C# Duda, comparacion de array int - string  (Leído 2,666 veces)
Coffee

Desconectado Desconectado

Mensajes: 2


Ver Perfil
C# Duda, comparacion de array int - string
« en: 29 Diciembre 2016, 10:11 am »

Buenas, tengo que hacer un marcador de puntos
se me plantea el siguiente problema
tengo que extraer las lineas de un documento de texto
Estas almacenarlas en un array de string
___________________________________________
Hasta aqui bien, ahora viene el problema
Esas lineas son con este formato
Nombre=paco puntos=10 dia=26/11/2004
Problema
En funcion de la puntuacion de esa linea tengo que ordenar de mayor a menor todas las lineas y mostrarlas en pantalla.
Se que puedo extraer la puntuacion con un substring y esta podria añadirla a un array de int (de esta forma solo ordenaria la numeracion "puntuacion"), pero tengo que ordenar acorde a esa puntuacuin las lineas del array string

Un saludo

Gracias por la ayuda de antemano.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: C# Duda, comparacion de array int - string
« Respuesta #1 en: 30 Diciembre 2016, 06:42 am »

Puedes simplificar bastante el algoritmo usando LINQ:

Código
  1. using System.Linq;

Código
  1. string[] lines = {
  2.    "Nombre=paco    puntos=11 dia=26/11/2004",
  3.    "Nombre=jacinto puntos=1  dia=26/11/2004",
  4.    "Nombre=bartolo puntos=10 dia=26/11/2004"
  5. };
  6.  
  7. IOrderedEnumerable<string> sorted =
  8.    from line in lines
  9.    orderby Convert.ToInt32(line.Remove(line.LastIndexOf(' ')).
  10.                                 Remove(0, line.IndexOf("puntos=", StringComparison.OrdinalIgnoreCase) + "puntos=".Length).
  11.                                 TrimEnd(' '))
  12.    select line;
  13.  
  14. foreach (string line in sorted) {
  15.    Trace.WriteLine(line);
  16. }

Saludos


« Última modificación: 30 Diciembre 2016, 07:26 am por Eleкtro » En línea

Coffee

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: C# Duda, comparacion de array int - string
« Respuesta #2 en: 31 Diciembre 2016, 05:31 am »

Gracias por la respuesta pero tengo una duda persisten respecto al asunto, esto lo ordena de menor a mayor como podría ordenarlo de mayor a menor .
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: C# Duda, comparacion de array int - string
« Respuesta #3 en: 31 Diciembre 2016, 10:32 am »

esto lo ordena de menor a mayor como podría ordenarlo de mayor a menor .

Simplemente añade el modificador ascending o descending después de la clausula orderby para indicarle expresamente que se ordene de forma ascendente o descendente.

Sintaxis:
Código
  1. from object in collection
  2. orderby (expression) ascending
  3. select object;

Código
  1. from object in collection
  2. orderby (expression) descending
  3. select object;

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparación de cadenas (string)
Programación Visual Basic
el_lichal 4 2,402 Último mensaje 17 Noviembre 2005, 18:40 pm
por el_lichal
[?] cambiar una comparacion de const char * a metodo string.compare
Programación C/C++
Drakomorh 2 3,482 Último mensaje 25 Mayo 2011, 18:58 pm
por Littlehorse
comparacion de un string con char en java
Java
sauce19 9 12,659 Último mensaje 23 Agosto 2011, 17:39 pm
por someRandomCode
Comparación de objetos string en Ruby.
Scripting
bigtio 0 1,827 Último mensaje 9 Febrero 2014, 07:28 am
por bigtio
MOVIDO: C# Duda, comparacion de array int - string
Programación C/C++
Eternal Idol 0 1,818 Último mensaje 29 Diciembre 2016, 10:17 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines