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

本文关键字:转换 变量 Int String | 更新日期: 2023-09-27 18:13:52

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

通常我可以这样写:

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

但我想知道是否有可能用另一种方法做到这一点,我想在字符串到达int1变量时将其转换为Int;O不想将实际的string2转换为Int。

就像题目所说的:

string1 = int1(convert to int) = string2

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

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

魔术

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);
    }
}