Skaffa den aktuella katalogen i C#

Skaffa Den Aktuella Katalogen I C



Eftersom mappar erbjuder ett systematiskt och organiserat tillvägagångssätt för att hantera resurser och dokument i en applikation, spelar de en betydande roll i C#-utvecklingen. Kataloger hjälper till med den logiska organisationen av filer och resurser. Du kan snabbt hitta och hantera filerna genom att lägga dem i en katalog med andra liknande objekt. I C# kan programmets nuvarande arbetskatalog hämtas med hjälp av GetCurrentDirectory()-funktionen.

Arbetskatalogen hänvisar till den plats i filsystemet där applikationen för närvarande körs. Eftersom den fungerar som startpunkten för alla associerade fil- och mappaktiviteter är den här katalogen viktig att förstå. Vi kommer att lära oss om de olika kodexemplen för att prata om detta i den här guiden.

Exempel 1:

Låt oss gå mot det första exemplet i denna guide för att demonstrera användningen av GetCurrentDirectory()-funktionen i C#. 'Användning'-direktiven tillåter programmet att komma åt klasserna och metoderna från namnområdena 'System' och 'System.IO'. Namnutrymmet 'System' tillhandahåller grundläggande typer och grundläggande systemfunktioner, medan 'System.IO' tillhandahåller klasser för användning med dokument och kataloger.







Nästa rad definierar en ny klass som heter 'Dummy' via nyckelordet 'class'. Namnet 'Dummy' är godtyckligt och kan ändras till valfri giltig identifierare. Main()-funktionen börjar med det statiska nyckelordet som indikerar att det är en klassnivåmetod, och det är inte nödvändigt att anropa en klassinstans för att det ska fungera.



Katalogfunktionsanropet är på väg att ske. Metoden GetCurrentDirectory() kan användas för att hämta programmets nuvarande arbetskatalog. Funktionen GetCurrentDirectory() är en statisk funktion från klassen 'Directory' som är en del av namnområdet 'System.IO'. Den returnerar en sträng som representerar den aktuella katalogen och tilldelar den till variabeln 'cd'.



Metoden Console.WriteLine() används för att visa en textrad till standardutgången (konsolen). I det här fallet skriver den ut meddelandet 'My Current Directory:' som är sammanlänkat med värdet på variabeln 'cd' som innehåller den aktuella katalogsökvägen.





använder System ;

använder System. IO ;

klass Dummy {

statisk tomhet Main ( ) {

sträng cd = Katalog. GetCurrentDirectory ( ) ;

Trösta. Skrivlinje ( 'Min nuvarande katalog: ' + CD ) ;

}

}

När du kör det här C#-programmet exekveras 'Main'-metoden och den aktuella katalogen visas på konsolen. Om du använder någon online C#-kompilator visar den kompilatorns sökväg, d.v.s. /home/compiler.



Det kan variera beroende på hur du kör programmet (t.ex. från Visual Studio, kommandotolken eller en annan IDE).

Exempel 2:

Förutom klassen 'Directory' kan miljön i C# också användas för att hämta den aktuella arbetskatalogen. Låt oss förklara den givna C#-exempelkoden steg för steg. Koden börjar med 'använder systemet;' sats som inkluderar namnutrymmet 'System' i programmet. Koden definierar en ny klass som heter 'Test'.

En variabel av strängtyp med namnet 'dir' deklareras och ges ett värde inuti funktionen 'Main'. För att få programmets nuvarande aktiva katalog, använd attributet Environment.CurrentDirectory. Klassen 'Environment' ger information om miljön där applikationen körs, inklusive information om filsystemet och systemmiljövariabler.

Metoden 'Console.WriteLine' används för att visa den aktuella katalogen på konsolen på den IDE som du har använt. Operatorn '+' används för att sammanfoga strängen 'Current Directory:' med värdet som lagras i variabeln 'dir'.

använder System ;

klass Test {

statisk tomhet Main ( ) {

sträng dir = Miljö. CurrentDirectory ;

Trösta. Skrivlinje ( 'Aktuell katalog:' + du ) ;

}

}

'Main'-metoden anropas som standard när programmet körs. Det börjar med att hämta den aktuella katalogen med hjälp av Environment.CurrentDirectory. Sedan visar den den aktuella katalogen genom att skriva ut meddelandet 'Current Directory:' följt av katalogsökvägen till konsolen med egenskapen Environment.CurrentDirectory.

Exempel 3:

Att få applikationens aktuella katalog är enkelt med attributet AppDomain.CurrentDomain.BaseDirectory. Vi lägger till ytterligare ett C#-kodexempel för att demonstrera användningen av AppDomain.CurrentDomain.BaseDirectory.

Efter att ha lagt till namnutrymmet 'System', definierar koden en klass som heter 'Test'. 'Huvud'-metoden startar sin exekvering genom att lägga till en rad för att hämta den aktuella arbetskatalogen för applikationen. Klassen 'AppDomain' representerar en applikationsdomän och 'CurrentDomain' är en statisk egenskap som returnerar den aktuella applikationsdomänen.

Egenskapen 'BaseDirectory' tillhandahåller i sin tur baskatalogen (även känd som applikationens rotkatalog) för den aktuella applikationsdomänen. Nästa rad deklarerar en variabel med namnet 'dir' av typen sträng för att lagra den aktuella katalogen. Nästa rad matar ut den aktuella katalogen till konsolen med metoden Console.WriteLine. Operatorn '+' används för att sammanfoga strängen 'Current Directory:' med värdet för variabeln 'dir'.

använder System ;

klass Test {

statisk tomhet Main ( ) {

sträng dir = AppDomain. CurrentDomain . BaseDirectory ;

Trösta. Skrivlinje ( 'Aktuell katalog:' + du ) ;

}

}

När du kör detta C#-program visar det den aktuella katalogen för programmet på konsolen.

Exempel 4:

Det är dags för vår sista illustration från den här guiden. Den medföljande C#-koden är en enkel konsolapplikation som visar hur man hämtar den aktuella katalogen med metoderna 'Path.GetDirectoryName()' och 'Assembly.GetExecutingAssembly().Location'.

I den här koden importeras tre namnområden: 'System', 'System.IO' och 'System.Reflection'. Dessa namnutrymmen innehåller klasser och metoder som krävs för olika operationer i koden. En 'Main'-metod och en klass som kallas 'Test' definieras i koden. För att erhålla den aktuella arbetskatalogen returnerar metoden 'Assembly.GetExecutingAssembly()' ett 'Assembly'-objekt som representerar den för närvarande körande sammansättningen (dvs. den körbara filen).

Egenskapen 'Location' för objektet 'Assembly' ger den fullständiga sökvägen till platsen för den körbara filen (inklusive filnamnet). Nu kan egenskapen 'Location' innehålla den fullständiga sökvägen till den körbara filen inklusive filnamnet. För att bara extrahera katalogdelen, används 'Path.GetDirectoryName()'. Katalogsökvägen som innehåller filen returneras av denna funktion efter att ha accepterat en filadress som indata.

Slutligen skriver koden ut den erhållna aktuella katalogen till konsolen med 'Console.WriteLine()'. Operatorn '+' används för att sammanfoga strängen 'Current Directory:' med värdet på variabeln 'cd' (som innehåller den aktuella katalogsökvägen).

använder System ;

använder System. IO ;

använder System. Reflexion ;

klass Test {

statisk tomhet Main ( ) {

sträng cd = Väg. GetDirectoryName ( Hopsättning. GetExecutingAssembly ( ) . Plats ) ;

Trösta. Skrivlinje ( 'Aktuell katalog:' + CD ) ;

}

}

När du kör detta C#-program visar det den aktuella katalogen för den körbara filen på konsolen enligt utgången som visas i bilden:

Slutsats

Ovannämnda instanser hämtar programmets nuvarande filsystem med hjälp av olika C#-metoder och attribut. Tänk på att den aktuella sökvägen kan ändras beroende på körmiljön och hur programmet startas.