Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代码不创建文本文件C#_C#_File - Fatal编程技术网

代码不创建文本文件C#

代码不创建文本文件C#,c#,file,C#,File,我试图创建一个程序,检查以下文件是否存在,如果不存在,创建一个并将名称写入其中。但是程序不会创建文件,也不会抛出任何异常 string verify; string name = textBox1.Text; string path = Path.Combine(@"C:\assets\"+ name + ".txt"); if (!File.Exists(path)) { File.Crea

我试图创建一个程序,检查以下文件是否存在,如果不存在,创建一个并将名称写入其中。但是程序不会创建文件,也不会抛出任何异常

        string verify;
        string name = textBox1.Text;
        string path = Path.Combine(@"C:\assets\"+ name + ".txt");
        if (!File.Exists(path))
        {
            File.Create(path);
            File.WriteAllText(path, name);
        }
        else if (File.Exists(path))
        {
            verify = File.ReadAllText(path);
            if (verify == name)
            {
                return;
            }
        }

我会消除
File.Create(path)从您的代码中查看发生了什么<代码>文件.WriteAllText(路径、名称)
将为您创建该文件,因此它是不必要的,并且您可能会得到一个IO异常,该异常正在代码中的其他地方被吞没,这会让您感觉不到

  • 确保文件夹C:\assets存在,否则程序将引发异常
  • File.Create(path)将创建该文件,但当您调用File.WriteAllText(path,name)时,它将引发异常,因为您的文件可能仍处于打开状态。因此,您应该删除File.Create(路径)、File.WriteAllText(路径、名称);将创建一个文件,然后在写入后将其关闭

  • 你能把path变量的值加到你的问题中吗?当你在
    stringverify
    并使用F10键在调试器中逐步检查代码,同时检查监视窗口中的每个变量(或将鼠标悬停在其上)?您甚至可以选择
    File.Exists(path)
    并将鼠标悬停在该文件上以查看其返回的内容。。