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