C# 设置文件的路径

C# 设置文件的路径,c#,path,C#,Path,我想使用此方法创建一个文件。然而,var只能在方法中使用。如何将路径的名称转换为类内其他方法访问的类变量 例如,在下面的代码中,“labelPath”不在setPaths()方法的var labelPath范围内。我还有其他使用“path”和“objectPath”的方法,这些变量不在这些方法的范围内 任何帮助都将不胜感激 public Form2() { InitializeComponent(); setPaths(); cur

我想使用此方法创建一个文件。然而,var只能在方法中使用。如何将路径的名称转换为类内其他方法访问的类变量

例如,在下面的代码中,“labelPath”不在setPaths()方法的var labelPath范围内。我还有其他使用“path”和“objectPath”的方法,这些变量不在这些方法的范围内

任何帮助都将不胜感激

    public Form2()
    {
        InitializeComponent();
        setPaths();
        current = this;
        instantiateNumUpDown();
        System.IO.File.WriteAllText(labelPath, " ");

    }

    public static void setPaths()
    {
        var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

        var path = Path.Combine(systemPath, "TextDynamic.txt");
        var labelPath = Path.Combine(systemPath, "currentLabel.txt");
        var objectPath = Path.Combine(systemPath, "object.txt");

    }

您不能这样做,因为var本身不是一个类型,它获取赋值右侧的值的类型

相反,您可以将变量类型定义为string并在类下声明

public class A
{
        private static string systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
        private string path = Path.Combine(systemPath, "TextDynamic.txt");
        private string labelPath = Path.Combine(systemPath, "currentLabel.txt");
        private string objectPath = Path.Combine(systemPath, "object.txt");
}
试试这个:

public class Form2
{
    private static string labelPath;
    private static string objectPath;
    private static string path;
    public Form2()
    {
        InitializeComponent();
        setPaths();
        current = this;
        instantiateNumUpDown();
        System.IO.File.WriteAllText(Form2.labelPath, " ");

    }

    public static void setPaths()
    {
        var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

        path = Path.Combine(systemPath, "TextDynamic.txt");
        labelPath = Path.Combine(systemPath, "currentLabel.txt");
        objectPath = Path.Combine(systemPath, "object.txt");

    }    
}
由于变量“path”“labelPath”“objectPath”完全是From2的构造方法,要修复它,应执行以下操作:

public Form2()
{
    InitializeComponent();

    string path = string.empty;
    string labelPath = string.empty;
    string objectPath = string.empty;

    setPaths(ref path, ref labelPath, ref objectPath);

    current = this;
    instantiateNumUpDown();
    System.IO.File.WriteAllText(labelPath, " ");

}

public static void setPaths(ref string path, ref string labelPath, ref string objectPath)
{
    var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

    path = Path.Combine(systemPath, "TextDynamic.txt");
    labelPath = Path.Combine(systemPath, "currentLabel.txt");
    objectPath = Path.Combine(systemPath, "object.txt");

}

只需将
var
转换为
string