C# 如何询问字符串变量是否可以解析为int变量?

C# 如何询问字符串变量是否可以解析为int变量?,c#,parsing,C#,Parsing,我可以使用什么来返回一个布尔变量,该变量将说明我是否可以安全地解析字符串 1847年将成为现实 18o2将返回false 请不要太复杂…您应该看看您可以使用的方法 如果解析成功,此处success将为true,否则为false,结果将为parse int值。使用: 我已经使用这些扩展方法很多年了。一开始可能有点“复杂”,但它们的使用非常简单。您可以使用类似的模式扩展大多数简单值类型,包括Int16、Int64、Boolean、DateTime等 using System; namespace

我可以使用什么来返回一个布尔变量,该变量将说明我是否可以安全地解析字符串

1847年将成为现实 18o2将返回false


请不要太复杂…

您应该看看您可以使用的方法

如果解析成功,此处success将为true,否则为false,结果将为parse int值。

使用:


我已经使用这些扩展方法很多年了。一开始可能有点“复杂”,但它们的使用非常简单。您可以使用类似的模式扩展大多数简单值类型,包括
Int16
Int64
Boolean
DateTime

using System;

namespace MyLibrary
{
    public static class StringExtensions
    {
        public static Int32? AsInt32(this string s)
        {
            Int32 result;       
            return Int32.TryParse(s, out result) ? result : (Int32?)null;
        }

        public static bool IsInt32(this string s)
        {
            return s.AsInt32().HasValue;
        }

        public static Int32 ToInt32(this string s)
        {
            return Int32.Parse(s);
        }
    }
}
要使用它们,只需在名称空间列表中包含
MyLibrary
,并使用
声明

"1847".IsInt32(); // true
"18o2".IsInt32(); // false

var a = "1847".AsInt32();
a.HasValue; //true

var b = "18o2".AsInt32();
b.HasValue; // false;

"18o2".ToInt32(); // with throw an exception since it can't be parsed.
var str = "18o2"
int num = 0;

bool canBeParsed = Int32.TryParse(str, out num);
using System;

namespace MyLibrary
{
    public static class StringExtensions
    {
        public static Int32? AsInt32(this string s)
        {
            Int32 result;       
            return Int32.TryParse(s, out result) ? result : (Int32?)null;
        }

        public static bool IsInt32(this string s)
        {
            return s.AsInt32().HasValue;
        }

        public static Int32 ToInt32(this string s)
        {
            return Int32.Parse(s);
        }
    }
}
"1847".IsInt32(); // true
"18o2".IsInt32(); // false

var a = "1847".AsInt32();
a.HasValue; //true

var b = "18o2".AsInt32();
b.HasValue; // false;

"18o2".ToInt32(); // with throw an exception since it can't be parsed.