String.Format : Tambien Existe :-)

‘ Repasando codigo, aun suelo encontrar las eternas expresiones de formateo de cadenas
‘ heredadas del mas puro estilo 6.0, entre otras estoy hablando de mid, left, right
‘ y como no de format(a,”##,##”) y un largo etc.

‘ Nada que objetar! solo recordaros que en .NET podemos salvar la gran mayoria de expresiones
‘ que requieren formato con el uso de los conocidos parametros de substitucion ‘{x}’
‘ :-))


Module Module1

‘ formateando strings
 
 
Sub
Main()
            
Dim Cadena As String = “Consumo en Kw : {0}, precio : {1}, total : {2}”
            
Dim Consumos = {10, 11, 21, 31, 41}
            
Dim Tarifa = Function(n) 
                                    
Select Case n 
                                           
Case Is > 40 : Return 4.6 
                                           
Case Is > 30 : Return 6.3 
                                           
Case Is > 20 : Return 8.2 
                                           
Case Is > 10 : Return 10.5 
                                           
Case Else : Return 12.4 
                                     
End Select
                         
End Function 

        For
Each kw In
Consumos
             
Console.WriteLine(String.Format(Cadena, kw.ToString, Tarifa(kw).ToString, (kw * Tarifa(kw)).ToString))  
        
Next
       
Console
.ReadLine()
  End Sub
End Module

5 thoughts on “String.Format : Tambien Existe :-)”

  1. He trabajado bastante con VB6, y le tengo algo de cariño, pero cuando veo en .Net cosas como Mid, Left, Asc, Len, etc, se me medio revuelve el estómago XD.

  2. Mira he intentado probar el código y el Intelligence Sense me arroja un error justo en “Function(n)” con el siguiente comentario de que “no se ha declarado el nombre n”. Además no me permite poner la instruccion “End Function”. En definitiva parece no entender la expresión “Select case…” que va tras la asignación de la variable tarifa…
    ¿Iienes idea cual puede ser el problema?, empleo Visual Studio 2008.

    Un saludo

    Lluis.

  3. Hola Luis,
    El uso de Lambdas en Visual Basic se incorpora en la version 10 del compilador. Por lo que no esta disponible en la version 9 :-(
    De todas formas si estas interesado, concretame y lo reproducimos utilizando expresiones disponibles en VS2008.

    Saludos,
    Pep Lluis,

  4. Bueno, especificando más, el uso de lambdas estaba en VB 9 también, pero sólo declaraciones de una sóla línea, y tenían que ser funciones, no había soporte de procedimientos.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>