Csharp/CSharp Tutorial/Data Type/Convert from string
Содержание
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>