有没有办法从函数内部创建的一个变量中提取信息,并在另一个函数中使用它

时间:2015-05-27 12:48:42

标签: c# function

我想知道是否有一种方法可以在下面创建的这个函数中获取通过EleWeight传递的信息,并在另一个函数中使用该信息。

static void ElementData(string EleName, string EleSymbol, string EleNumber, string EleWeight)
    {
        Console.WriteLine("Element: " + EleName);
        Console.WriteLine("Symbol: " + EleSymbol);
        Console.WriteLine("Atomic Number: " + EleNumber);
        Console.WriteLine("Atomic Weight: " + EleWeight);
        NewElement();
    }

2 个答案:

答案 0 :(得分:1)

static void NewElement(string EleWeight)
{
    ...
}

static void ElementData(string EleName, string EleSymbol, string EleNumber, string EleWeight)
{
    Console.WriteLine("Element: " + EleName);
    Console.WriteLine("Symbol: " + EleSymbol);
    Console.WriteLine("Atomic Number: " + EleNumber);
    Console.WriteLine("Atomic Weight: " + EleWeight);
    NewElement(EleWeight);
}

如果你想在函数调用之间保留信息,你需要将它存储在某种类的字段变量中

答案 1 :(得分:0)

你必须把它放在某个地方......例如静态字段...请注意,如果ElementData()次呼叫和OtherFunction()呼叫之间没有明确的排序,这将会中断。建议的方法可能是从OtherFunction()

调用ElementData()

另一种方式:

public class OtherFunctionClass
{
    public readonly int EleWeight;
    public OtherFunctionClass(int eleWeight) 
    {
        EleWeight = eleWeight;
    }

    public void OtherFunction()
    {
    }
}

然后从ElementData

static OtherFunctionClass ElementData(string EleName, string EleSymbol, string EleNumber, string EleWeight)
{
    ....
    ....
    return new OtherFunctionClass(EleWeight);
}

因此ElementData会返回一个包含EleWeight且具有OtherFunction方法的对象。