Among parsing and converting Which one is more usage in c#.net programming
Call Parse or TryParse methods
The Parse
and TryParse
methods ignore white
space at the beginning and at the end of the string, but all other
characters must be characters that form the appropriate numeric type (int
, long
, ulong
, float
, decimal
, and so on). Any white space within the string that forms the number causes an error. For example, you can use decimal.TryParse
to parse "10", "10.3", or " 10 ", but you can't use this method to
parse 10 from "10X", "1 0" (note the embedded space), "10 .3" (note the
embedded space), "10e1" (float.TryParse
works here), and so on. A string whose value is null
or String.Empty fails to parse successfully. You can check for a null or empty string before attempting to parse it by calling the String.IsNullOrEmpty method.
The following example demonstrates both successful and unsuccessful calls to Parse
and TryParse
.
using System;
public static class StringConversion
{
public static void Main()
{
string input = String.Empty;
try
{
int result = Int32.Parse(input);
Console.WriteLine(result);
}
catch (FormatException)
{
Console.WriteLine($"Unable to parse '{input}'");
}
// Output: Unable to parse ''
try
{
int numVal = Int32.Parse("-105");
Console.WriteLine(numVal);
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
// Output: -105
if (Int32.TryParse("-105", out int j))
{
Console.WriteLine(j);
}
else
{
Console.WriteLine("String could not be parsed.");
}
// Output: -105
try
{
int m = Int32.Parse("abc");
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.
const string inputString = "abc";
if (Int32.TryParse(inputString, out int numValue))
{
Console.WriteLine(numValue);
}
else
{
Console.WriteLine($"Int32.TryParse could not parse '{inputString}' to an int.");
}
// Output: Int32.TryParse could not parse 'abc' to an int.
}
}
The following example illustrates one approach to parsing a string expected to include leading numeric characters (including hexadecimal characters) and trailing non-numeric characters. It assigns valid characters from the beginning of a string to a new string before calling the TryParse method. Because the strings to be parsed contain a few characters, the example calls the String.Concat method to assign valid characters to a new string. For a larger string, the StringBuilder class can be used instead.
No comments:
Post a Comment