如何在C#中使用变量名创建文件夹?

时间:2010-09-11 15:26:36

标签: c# class path directory

Directory.CreateDirectory(@ “C:\测试”);

效果很好。我能够创建文件夹。但是下面的代码不起作用。

using System;
using System.IO;
class iolar
{

 public static void klasorOlustur()
 {
  Console.WriteLine("Oluşturmak istediğiniz BİRİNCİ  klasörün adı?");
  string a=Console.ReadLine();
  Console.WriteLine("oluşturmak istediğiniz İKİNCİ klasörün adı?");
  string b=Console.ReadLine();
  Console.WriteLine("Klasörler oluşturuluyor.. Lütfen bekleyin...");

  string klasorYolu="@\"H:\\"+a+"\"";
  string klasorYolu2="\""+b+"\"";

  DirectoryInfo klasorcuk=new DirectoryInfo(klasorYolu);
  Console.Write(klasorYolu);
  if(klasorcuk.Exists==false)
  {
   klasorcuk.Create();
   Console.WriteLine("İlk klasör oluşturuldu...");
   DirectoryInfo klasorcuk2=klasorcuk.CreateSubdirectory(klasorYolu2);
   Console.WriteLine("İkinci klasör de oluşturuldu...");

  }

 }

 static void Main()
 {
  klasorOlustur();
 }
}

我得到“Unhandled Exception:System.ArgumentException:path中的非法字符。”错误。我找到了一些关于“路径类”的东西,但我无法得到明确的答案。

我该怎么办?

2 个答案:

答案 0 :(得分:3)

 string klasorYolu="@\"H:\\"+a+"\"";

不要使字符串内容看起来像您在C#程序中编写的内容。这看起来应该更像:

 string klasorYolu = @"H:\" + a;

一定要使用Path.Combine()方法,它会将反斜杠放在正确的位置。

答案 1 :(得分:1)

尝试

 string klasorYolu = "H:\\" + a;
 string klasorYolu2 = b;

当您已经在字符串文字中时,无需添加@"