由于某种原因,我的字符串“firSTLine”没有用另一种方法拾取。这背后的原因是什么?

public static void test1()
{
..
            string[] linesw = obj1.ReadToEnd().Split(new char[] { '\n' });
            string firstline = linesw[1];
..
}

public static void test2()
{
..
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(firstline);
..
}

最佳答案

firstline是一个局部变量,在其他方法中使用时超出范围。将其提升为类变量或参数。

作为类变量:

private static string firstline = String.Empty; // class variable

public static void test1()
{
..
    string[] linesw = obj1.ReadToEnd().Split(new char[] { '\n' });
    firstline = linesw[1];
..
}

public static void test2()
{
..
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(firstline);
..
}

或者,作为从 test2()调用test1() 的参数:
public static void test1()
{
..
    string[] linesw = obj1.ReadToEnd().Split(new char[] { '\n' });
    string firstline = linesw[1];
    test2(firstline);
..
}

public static void test2(string firstline)...

08-26 14:19