Bird
Raised Fist0
C Sharp (C#)programming~5 mins

File paths and Directory operations in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a file path in C#?
A file path is a string that shows the location of a file or folder on your computer. It tells the program where to find or save files.
Click to reveal answer
beginner
How do you combine parts of a file path safely in C#?
Use Path.Combine() method. It joins parts of a path with the correct separator for your system, avoiding errors.
Click to reveal answer
beginner
What does Directory.CreateDirectory() do?
It creates a new folder (directory) at the specified path. If the folder already exists, it does nothing and does not throw an error.
Click to reveal answer
beginner
How can you check if a file exists in C#?
Use File.Exists(path). It returns true if the file is there, otherwise false.
Click to reveal answer
intermediate
What is the difference between Directory.GetFiles() and Directory.GetDirectories()?
Directory.GetFiles() returns a list of files in a folder. Directory.GetDirectories() returns a list of subfolders inside a folder.
Click to reveal answer
Which method safely joins multiple parts of a file path in C#?
ADirectory.Merge()
BString.Concat()
CFile.Join()
DPath.Combine()
What does Directory.CreateDirectory() do if the folder already exists?
ADoes nothing and continues
BDeletes the folder
CThrows an error
DRenames the folder
How do you check if a file exists at a given path?
ADirectory.Exists(path)
BFile.Exists(path)
CFile.Check(path)
DPath.Exists(path)
Which method lists all files inside a directory?
ADirectory.GetDirectories()
BFile.List()
CDirectory.GetFiles()
DPath.GetFiles()
What is the correct way to get the file name from a full path?
APath.GetFileName()
BFile.GetName()
CDirectory.GetName()
DPath.GetDirectoryName()
Explain how to create a new directory and check if it exists in C#.
Think about methods to create and verify folders.
You got /3 concepts.
    Describe how to safely build a file path from folder and file name parts.
    Focus on combining path parts without errors.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which C# class is used to check if a directory exists on your computer?
      easy
      A. Path
      B. File
      C. Directory
      D. StreamReader

      Solution

      1. Step 1: Understand the purpose of Directory class

        The Directory class provides methods to work with folders, including checking if they exist.
      2. Step 2: Identify the correct method for existence check

        Directory.Exists(path) returns true if the folder exists, which is what we need.
      3. Final Answer:

        Directory -> Option C
      4. Quick Check:

        Directory = Folder check [OK]
      Hint: Use Directory class to manage folders easily [OK]
      Common Mistakes:
      • Confusing File class with Directory for folders
      • Using Path class to check existence
      • Trying to read folder like a file
      2. Which of the following is the correct syntax to create a new directory named "Data" in C#?
      easy
      A. Directory.Create("Data");
      B. File.CreateDirectory("Data");
      C. Path.CreateDirectory("Data");
      D. Directory.CreateDirectory("Data");

      Solution

      1. Step 1: Identify the correct method to create directories

        The Directory class has a method called CreateDirectory to make new folders.
      2. Step 2: Check method names and classes

        Only Directory.CreateDirectory("Data") is valid syntax; others are incorrect or belong to wrong classes.
      3. Final Answer:

        Directory.CreateDirectory("Data"); -> Option D
      4. Quick Check:

        CreateDirectory method creates folders [OK]
      Hint: Use Directory.CreateDirectory to make folders [OK]
      Common Mistakes:
      • Using Directory.Create instead of CreateDirectory
      • Trying to create directory with File class
      • Using Path class for folder creation
      3. What will be the output of this C# code?
      string folder = "C:\\Users\\Public";
      string fileName = "report.txt";
      string fullPath = Path.Combine(folder, fileName);
      Console.WriteLine(fullPath);
      medium
      A. C:/Users/Public/report.txt
      B. C:\Users\Public\report.txt
      C. C:\Users\Publicreport.txt
      D. C:\Users\Public\

      Solution

      1. Step 1: Understand Path.Combine behavior

        Path.Combine joins folder and file name with the correct directory separator for Windows (\).
      2. Step 2: Check the combined string output

        The result is "C:\Users\Public\report.txt" with backslashes and a single separator between folder and file.
      3. Final Answer:

        C:\Users\Public\report.txt -> Option B
      4. Quick Check:

        Path.Combine joins paths with \ [OK]
      Hint: Path.Combine joins paths with correct separators [OK]
      Common Mistakes:
      • Expecting forward slashes instead of backslashes
      • Missing separator between folder and file
      • Confusing output with folder path only
      4. Identify the error in this code snippet that tries to delete a directory:
      string path = "C:\\Temp";
      if (Directory.Exists(path))
      {
          Directory.Delete(path);
          Console.WriteLine("Deleted");
      }
      medium
      A. Directory.Delete requires a second argument to delete non-empty folders
      B. Directory.Exists should be File.Exists
      C. The path string is incorrectly escaped
      D. Console.WriteLine cannot be used inside if

      Solution

      1. Step 1: Understand Directory.Delete behavior

        Directory.Delete(path) without a second argument only deletes empty folders.
      2. Step 2: Check if folder might be non-empty

        If folder has files, Directory.Delete(path, true) is needed to delete recursively.
      3. Final Answer:

        Directory.Delete requires a second argument to delete non-empty folders -> Option A
      4. Quick Check:

        Delete non-empty folder needs recursive flag [OK]
      Hint: Use Directory.Delete(path, true) for non-empty folders [OK]
      Common Mistakes:
      • Assuming Directory.Delete deletes non-empty folders by default
      • Using File.Exists to check folders
      • Incorrectly escaping path strings
      5. You want to list all subdirectories inside "C:\\Projects" and print their full paths. Which code snippet correctly does this?
      hard
      A. foreach (var dir in Directory.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); }
      B. foreach (var file in Directory.GetFiles("C:\\Projects")) { Console.WriteLine(file); }
      C. foreach (var dir in Path.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); }
      D. foreach (var dir in Directory.ListDirectories("C:\\Projects")) { Console.WriteLine(dir); }

      Solution

      1. Step 1: Identify method to get subdirectories

        Directory.GetDirectories(path) returns an array of folder paths inside the given directory.
      2. Step 2: Use foreach to print each directory path

        Looping over the array and printing each path is done with foreach and Console.WriteLine.
      3. Final Answer:

        foreach (var dir in Directory.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); } -> Option A
      4. Quick Check:

        GetDirectories lists folders [OK]
      Hint: Use Directory.GetDirectories to list folders [OK]
      Common Mistakes:
      • Using GetFiles instead of GetDirectories
      • Trying to use Path class for directory listing
      • Using non-existent Directory.ListDirectories method