如何在系统名称空间中创建ToInt32方法?

时间:2018-09-18 17:38:55

标签: c# type-conversion int

如您所知,我们可以使用Convert.ToString或ToString转换为字符串。我想对整数,字节等做同样的事情。此外,当我将点放到每个对象时,我希望看到这种方法。 我应该怎么写方法?

2 个答案:

答案 0 :(得分:2)

您正在寻找一种扩展方法。只需在其中创建一个静态类和一个静态方法即可,

public static class Exts
{
     public static int ToInt32(this string x)
     {
          int result = 0;
          int.TryParse(x, out result);
          return result;
     }
}

当然,我的方法是一个示例,对于无法强制转换为int的任何字符串值,它只会返回0,但是您可以编写任何代码,接受默认值作为参数,抛出异常,...

然后您可以像使用它一样

string a = "123";
int b = a.ToInt32();
int c = "321".ToInt32();

答案 1 :(得分:0)

编写将任何类型都转换为Int32的通用扩展名:

public static class ObjectExt {
    public static int ToInt<T>(this T obj) => Convert.ToInt32(obj);
}