Haal de huidige map op in C#

Haal De Huidige Map Op In C



Omdat mappen een systematische en georganiseerde aanpak bieden voor het omgaan met bronnen en documenten binnen een applicatie, spelen ze een belangrijke rol in de C#-ontwikkeling. Mappen helpen bij de logische organisatie van bestanden en bronnen. U kunt de bestanden snel vinden en beheren door ze in een map met soortgelijke items te plaatsen. In C# kan de huidige werkmap van de toepassing worden opgehaald met behulp van de functie GetCurrentDirectory().

De werkmap verwijst naar de locatie in het bestandssysteem waar de applicatie momenteel wordt uitgevoerd. Omdat het fungeert als het startpunt voor alle bijbehorende bestands- en mapactiviteiten, is het essentieel om deze map te begrijpen. We gaan in deze handleiding meer te weten komen over de verschillende codevoorbeelden om hierover te praten.

Voorbeeld 1:

Laten we naar het eerste voorbeeld van deze handleiding gaan om het gebruik van de functie GetCurrentDirectory() in C# te demonstreren. Met de ‘using’-richtlijnen krijgt het programma toegang tot de klassen en methoden uit de naamruimten ‘System’ en ‘System.IO’. De naamruimte “System” biedt fundamentele typen en basissysteemfunctionaliteit, terwijl “System.IO” klassen biedt voor gebruik met documenten en mappen.







De volgende regel definieert een nieuwe klasse met de naam “Dummy” via het trefwoord “class”. De naam “Dummy” is willekeurig en kan worden gewijzigd in elke geldige identificatie. De functie main() begint met het statische sleutelwoord, wat aangeeft dat het een methode op klasseniveau is, en dat het niet nodig is om een ​​klasse-instantie aan te roepen om te laten werken.



De directoryfunctieaanroep staat op het punt te gebeuren. De methode GetCurrentDirectory() kan worden gebruikt om de huidige werkmap van de toepassing op te halen. De functie GetCurrentDirectory() is een statische functie uit de klasse “Directory” die deel uitmaakt van de naamruimte “System.IO”. Het retourneert een tekenreeks die de huidige map vertegenwoordigt en wijst deze toe aan de variabele 'cd'.



De methode Console.WriteLine() wordt gebruikt om een ​​regel tekst weer te geven in de standaarduitvoer (console). In dit geval wordt het bericht “Mijn huidige map:” afgedrukt, dat is samengevoegd met de waarde van de variabele “cd” die het huidige mappad bevat.





met behulp van Systeem ;

met behulp van Systeem. IO ;

klasse Dummie {

statisch leegte Voornaamst ( ) {

string-cd = Directory. GetCurrentDirectory ( ) ;

Troosten. Schrijf lijn ( 'Mijn huidige map: ' + CD ) ;

}

}

Wanneer u dit C#-programma uitvoert, wordt de “Main”-methode uitgevoerd en wordt de huidige map op de console weergegeven. Als u een online C#-compiler gebruikt, wordt het compilerpad weergegeven, d.w.z. /home/compiler.



Dit kan variëren afhankelijk van de manier waarop u de toepassing uitvoert (bijvoorbeeld vanuit Visual Studio, opdrachtprompt of een andere IDE).

Voorbeeld 2:

Naast de klasse “Directory” kan de omgeving van C# ook worden gebruikt om de huidige werkmap op te halen. Laten we de gegeven C#-voorbeeldcode stap voor stap uitleggen. De code begint met “using System;” -instructie die de naamruimte 'Systeem' in het programma bevat. De code definieert een nieuwe klasse met de naam 'Test'.

Er wordt een variabele van het stringtype met de naam “dir” gedeclareerd en krijgt een waarde binnen de functie “Main”. Om de huidige actieve map van de toepassing te verkrijgen, gebruikt u het kenmerk Environment.CurrentDirectory. De klasse “Environment” biedt informatie over de omgeving waarin de applicatie draait, inclusief informatie over het bestandssysteem en systeemomgevingsvariabelen.

De “Console.WriteLine”-methode wordt gebruikt om de huidige map op de console van de IDE die u hebt gebruikt weer te geven. De operator “+” wordt gebruikt om de tekenreeks “Current Directory:” samen te voegen met de waarde die is opgeslagen in de variabele “dir”.

met behulp van Systeem ;

klasse Proef {

statisch leegte Voornaamst ( ) {

tekenreeks richt = Omgeving. Huidigemap ;

Troosten. Schrijf lijn ( 'Huidige map: ' + Jij ) ;

}

}

De “Main”-methode wordt standaard aangeroepen wanneer de applicatie wordt uitgevoerd. Het begint met het ophalen van de huidige map met behulp van Environment.CurrentDirectory. Vervolgens wordt de huidige map weergegeven door het bericht 'Current Directory:' af te drukken, gevolgd door het mappad naar de console met behulp van de eigenschap Environment.CurrentDirectory.

Voorbeeld 3:

Het verkrijgen van de huidige directory van de applicatie is eenvoudig met het AppDomain.CurrentDomain.BaseDirectory attribuut. We voegen nog een C#-codevoorbeeld toe om het gebruik van AppDomain.CurrentDomain.BaseDirectory te demonstreren.

Nadat de naamruimte “Systeem” is toegevoegd, definieert de code een klasse met de naam “Test”. De “Main”-methode start de uitvoering door een regel toe te voegen om de huidige werkmap van de applicatie op te halen. De klasse “AppDomain” vertegenwoordigt een applicatiedomein en de “CurrentDomain” is een statische eigenschap die het huidige applicatiedomein retourneert.

De eigenschap “BaseDirectory” biedt op zijn beurt de basismap (ook wel de hoofdmap van de toepassing genoemd) van het huidige toepassingsdomein. De volgende regel declareert een variabele met de naam “dir” van het type string om de huidige map op te slaan. De volgende opeenvolgende regel voert de huidige map uit naar de console met behulp van de Console.WriteLine-methode. De operator “+” wordt gebruikt om de tekenreeks “Current Directory:” samen te voegen met de waarde van de variabele “dir”.

met behulp van Systeem ;

klasse Proef {

statisch leegte Voornaamst ( ) {

tekenreeks richt = AppDomein. Huidig ​​domein . Basisdirectory ;

Troosten. Schrijf lijn ( 'Huidige map: ' + Jij ) ;

}

}

Wanneer u dit C#-programma uitvoert, wordt de huidige map van de toepassing op de console weergegeven.

Voorbeeld 4:

Het is tijd voor onze laatste illustratie uit deze gids. De meegeleverde C#-code is een eenvoudige consoletoepassing die demonstreert hoe u de huidige map kunt ophalen met behulp van de methoden 'Path.GetDirectoryName()' en 'Assembly.GetExecutingAssembly().Location'.

In deze code worden drie naamruimten geïmporteerd: “System”, “System.IO” en “System.Reflection”. Deze naamruimten bevatten klassen en methoden die vereist zijn voor verschillende bewerkingen in de code. In de code zijn een ‘Main’-methode en een klasse met de naam ‘Test’ gedefinieerd. Om de huidige werkmap te verkrijgen, retourneert de methode “Assembly.GetExecutingAssembly()” een “Assembly” -object dat de momenteel uitgevoerde assembly vertegenwoordigt (d.w.z. het actieve uitvoerbare bestand).

De eigenschap “Location” van het object “Assembly” geeft het volledige pad naar de locatie van het actieve uitvoerbare bestand (inclusief de bestandsnaam). Nu kan de eigenschap “Location” het volledige pad naar het uitvoerbare bestand bevatten, inclusief de bestandsnaam. Om alleen het mapgedeelte te extraheren, wordt “Path.GetDirectoryName()” gebruikt. Het mappad waarin het bestand zich bevindt, wordt door deze functie geretourneerd nadat een bestandsadres als invoer is geaccepteerd.

Ten slotte drukt de code de verkregen huidige map af naar de console met behulp van “Console.WriteLine()”. De operator “+” wordt gebruikt om de tekenreeks “Current Directory:” samen te voegen met de waarde van de variabele “cd” (die het huidige mappad bevat).

met behulp van Systeem ;

met behulp van Systeem. IO ;

met behulp van Systeem. Reflectie ;

klasse Proef {

statisch leegte Voornaamst ( ) {

string-cd = Pad. GetDirectoryName ( Montage. GetExecutingAssembly ( ) . Plaats ) ;

Troosten. Schrijf lijn ( 'Huidige map: ' + CD ) ;

}

}

Wanneer u dit C#-programma uitvoert, wordt de huidige map van het actieve uitvoerbare bestand op de console weergegeven volgens de uitvoer die in de afbeelding wordt weergegeven:

Conclusie

De bovengenoemde instanties verkrijgen het huidige bestandssysteem van de applicatie met behulp van verschillende C#-methoden en -attributen. Houd er rekening mee dat het huidige pad kan veranderen, afhankelijk van de actieve omgeving en de manier waarop het programma wordt gestart.