将String转换为Int而不转换变量本身

时间:2014-07-21 04:45:58

标签: c#

我想要一个字符串,然后我想传递给2个变量。 一个是Int,另一个是字符串。

通常我可以这样做:

string1 = string2;
int1 = Convert.ToInt32(string2);

但是我想知道是否可以用另一种方法来做到这一点, 我想将字符串转换为Int,就像它到达int1变量一样; O不想将实际的string2转换为Int。

所以基本上就像话题所说:

string1 = int1(convert to int) = string2

我不确定这是否可行,希望是。

1 个答案:

答案 0 :(得分:2)

魔术。

MagicInt x = 123;
string s = x;
int i = x;
Console.WriteLine("s is " + s);
Console.WriteLine("i is " + i);


public struct MagicInt
{
    public MagicInt(int value)
    {
        _value = value;
    }
    public MagicInt(string value)
    {
        _value = int.Parse(value);
    }

    int _value;

    public static implicit operator int(MagicInt value)
    {
        return value._value;
    }

    public static implicit operator string(MagicInt value)
    {
        return value._value.ToString();
    }

    public static implicit operator MagicInt(int value)
    {
        return new MagicInt(value);
    }

    public static implicit operator MagicInt(string value)
    {
        return new MagicInt(value);
    }

}