Csharp/CSharp Tutorial/Data Type/Convert from string

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Data type parsing

<source lang="csharp">using System; using System.Collections.Generic; using System.Text;

 class Program
 {
   static void Main(string[] args)
   {
     bool b = bool.Parse("True");
     Console.WriteLine("Value of b: {0}", b);
     double d = double.Parse("99.884");
     Console.WriteLine("Value of d: {0}", d);
     int i = int.Parse("8");
     Console.WriteLine("Value of i: {0}", i);
     char c = Char.Parse("w");
     Console.WriteLine("Value of c: {0}", c);
   }
 }</source>

New and old way to parse an int

<source lang="csharp">using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.rupilerServices; public class MainClass {

   public static void Main()
   {
       
       int parsedQty =0;
       try
       {
           parsedQty = int.Parse("123");
       }
       catch (FormatException)
       {
       }
       
       if (!int.TryParse("123", out parsedQty))
       {
       }
   }

}</source>

new-style (vry-parse pattern

<source lang="csharp">using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Text;

public class MainClass {

   public static void Main()
   {
       string s = "bad format";
       int i;
       if (int.TryParse(s, out i))
       {
           // Use "i"
       }
       else
       {
           // Handle the error; e.g. tell the user input was invalid.
           Console.WriteLine("Input invalid");
       }
   }

}</source>

Type Conversion Using System.Convert

<source lang="csharp">class MainClass {

 static void Main()
 {
   string middleCText = "278.4375";
   double middleC = System.Convert.ToDouble(middleCText);
   bool boolean = System.Convert.ToBoolean(middleC);
 }

}</source>

Using TryParse() in Place of an Invalid Cast Exception

<source lang="csharp">class MainClass {

 static void Main()
 {
   double number;
   string input;
   System.Console.Write("Enter a number: ");
   input = System.Console.ReadLine();
   if (double.TryParse(input, out number)){
      // Converted correctly, now use number
   }else{
       System.Console.WriteLine("The text entered was not a valid number.");
   }
 }

}</source>