C#>Typekonvertering
Typekonvertering
Klassen Convert har en rekke statiske metoder for konvertering. Noen eksempler:
String T="123"; int tall = Convert.ToInt16(T); String S= Convert.ToString(tall);
Dersom vi forsøker å konvertere en string som ikke kan konverteres på en fornuftig måte får vi en exception:
String T = "hallo"; try { int tall = Convert.ToInt16(T); // and do something with the number } catch (Exception ex) { errormessage = ex.Message; }
Vil gi errormessage: "Input string was not in a correct format."
Formatering av datoer er en stadig tilbakevendende problemstilling. Vi kan handtere datoer med klassen DateTime. Dato og tid akkurat nå finner vi ved:
DateTime d=DateTime.now;
Vi kan plukke opp deler av denne datoen og formattere dem på mange måter. Dette er bare noen av dem: (avhengug av dato)
DateTime d=DateTime.now;
String T = Convert.ToString(d);
gir T: "21.12.2006 17:34:22"
String T = String.Format("{0}-{1}-{2}", d.Year, d.Month, d.Day);
gir T: "2006-12-21"
String T = = String.Format("{0:u}", d).Substring(0,10);
gir T: "2006-12-21"
Følgende program :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Globalization; using System.Threading; namespace culture { class Program { static void Main(string[] args) { DateTime today = DateTime.Now; show = String.Format("{0}:{1}:{2}", today.Year, today.Month.ToString("00"), today.Day.ToString("00")); Console.WriteLine(show); show = today.ToLongDateString(); Console.WriteLine(Thread.CurrentThread.CurrentCulture.NativeName + ":\t" + show); Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("it-IT"); show = today.ToLongDateString(); Console.WriteLine(Thread.CurrentThread.CurrentCulture.NativeName + ":\t" + show); Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US"); show = today.ToLongDateString(); Console.WriteLine(Thread.CurrentThread.CurrentCulture.NativeName + ":\t" + show); Console.Read(); } } }
gir følgende output (avhengug av dato)
2010:01:25 norsk, bokmål (Norge): 25.januar 2010 italiano (Italia): lunedi 25 gennaio 2010 English (United States): Monday, January 25, 2010