Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

VB 2015: String Interpolation e la InvariantCulture

In un precedente post abbiamo visto una delle più importanti novità di Visual Basic 2015, la string interpolation, che consente di formattare le stringhe utilizzando IntelliSense e senza più i placeholder numerici.

Per default, la string interpolation utilizza la culture di sistema per formattare stringhe che contengano elementi di punteggiatura come numeri a virgola mobile e valute. In scenari di localizzazione, può quindi essere più opportuno utilizzare la InvariantCulture, che permette, tra l'altro, di evitare fastidiose eccezioni.

Per poter implementare questo scenario, è dapprima necessario scrivere un metodo helper che riceva la stringa da formattare come FormattableString, un tipo di oggetto utilizzato dalla string interpolation dietro le scene. Su questo, si invoca ToString e il suo overload che supporta la invariant culture, come in questo codice:
    Function InvariantFormat(stringToFormat As FormattableStringAs String
        
Return stringToFormat.ToString(Globalization.CultureInfo.InvariantCulture)
    
End Function
Di seguito un piccolo esempio d'uso:

Module Module1

    
Sub Main()

        
Dim onePerson As New Person With {.Height = 175}
        
'This string is formatted using the InvariantCulture culture
        
Dim invariantText =
        InvariantFormat(
$"Hello, I'm {onePerson.Height:0.00} centimeters tall")

    
End Sub
End Module

Class Person
    
Property Height As Double
End Class
In questo modo, la stringa viene formattata secondo l'InvariantCulture invece che utilizzando quella di sistema.

Alessandro

Print | posted on venerdì 17 aprile 2015 13:32 | Filed Under [ Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET