Ottieni percorso relativo di un file in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Ottieni il percorso relativo di un file con la classe Path in C#
  2. Ottieni il percorso relativo di un file con il file Resources.resx in C#
Ottieni percorso relativo di un file in C#

Questo tutorial discuterà i metodi per ottenere il percorso relativo di un file in C#.

Ottieni il percorso relativo di un file con la classe Path in C#

Per questo tutorial, parlerò della seguente struttura di directory.

/ MyProject / Bin Main.exe / Folder Img.jpg Main.cs

Quando il nostro programma viene eseguito, lo fa dal file Main.exe all’interno della directory Bin. Vogliamo scrivere il nostro codice a partire da o relativo alla directory Bin. Vogliamo accedere al file Img.jpg all’interno della directory Folder. Questo problema può essere facilmente gestito con uno dei seguenti metodi.

La classe Path esegue operazioni sulle variabili di stringhe contenenti percorsi di file in C#. La funzione Path.GetDirectoryName() ottiene le informazioni sulla directory corrente. Possiamo passare Assembly.GetExecutingAssembly().CodeBase come parametro alla funzione Path.GetDirectoryName() per ottenere informazioni sulla directory di output del nostro progetto.

var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);

Possiamo quindi combinare il percorso risultante con il percorso relativo breve al nostro file Img.jpg per creare un percorso relativo al nostro file Img.jpg.

var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");

Possiamo quindi convertire questo nuovo percorso nella nostra stringa di percorso relativo con la proprietà Uri.LocalPath.

string icon_path = new Uri(iconPath).LocalPath;

L’esempio di codice seguente mostra come eseguire tutti i passaggi sopra menzionati in C#.

var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
string icon_path = new Uri(iconPath ).LocalPath;

La variabile stringa icon_path è ora il percorso relativo al file Img.jpg e può essere utilizzata per fare riferimento all’immagine durante l’esecuzione del nostro codice.

Ottieni il percorso relativo di un file con il file Resources.resx in C#

Quando abbiamo alcune risorse esterne che vogliamo utilizzare nella nostra applicazione, come un’icona di immagine, dobbiamo utilizzare un file resources.resx in C#. Il file resources.resx funziona come un record di tutte le risorse utilizzate dalla nostra applicazione. Dopo aver aggiunto un file resources.resx nel nostro progetto e aver fatto riferimento a tutte le risorse richieste, possiamo accedere facilmente a tutte le risorse con il comando Resources.Resource1. Il seguente esempio di codice ci mostra come ottenere il percorso relativo di un file con il file resources.resx in C#.

using mynamespace.Properties var imgpath = Resources.img;

La variabile imgpath può essere utilizzata come riferimento al file Img.jpg durante l’esecuzione del nostro codice in C#. Questo metodo dovrebbe essere preferito al metodo precedente perché è più facile da capire, più semplice da scrivere e mantiene il nostro codice organizzato.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Csharp Path

Articolo correlato - Csharp File