name - project path c#




Obter o nome do diretório atual(última parte) em C# (6)

A maneira mais fácil de obter o nome da pasta é inicializar uma instância de DirectoryInfo com o caminho.

string path = "/Users/smcho/filegen_from_directory/AIRPassthrough";
string result = new DirectoryInfo(path).Name;

Isso funciona da mesma forma se o caminho terminar com ou sem um separador de diretórios e se um separador para frente ou para trás for usado.

Preciso obter a última parte do diretório atual, por exemplo, em /Users/smcho/filegen_from_directory/AIRPassthrough , preciso obter o AIRPassthrough .

Com python, posso obtê-lo com este código.

import os.path

path = "/Users/smcho/filegen_from_directory/AIRPassthrough"
print os.path.split(path)[-1]

Ou

print os.path.basename(path)

Como posso fazer a mesma coisa com c #?

ADICIONADO

Com a ajuda dos respondentes, encontrei o que precisava.

using System.Linq;
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName  = fullPath.Split(Path.DirectorySeparatorChar).Last();

ou

string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = Path.GetFileName(fullPath);

Bem, para responder exatamente ao título da sua pergunta :-)

var lastPartOfCurrentDirectoryName = 
   Path.GetFileName(Environment.CurrentDirectory);

Isso funciona perfeitamente bem comigo :)

Path.GetFileName(path.TrimEnd('\\')

Tente isto:

String newString = "";
Sting oldString = "/Users/smcho/filegen_from_directory/AIRPassthrough";

int indexOfLastSlash = oldString.LastIndexOf('/', 0, oldString.length());

newString = oldString.subString(indexOfLastSlash, oldString.length());

O código pode estar desativado (não testei), mas a ideia deve funcionar


Você poderia tentar:

var path = @"/Users/smcho/filegen_from_directory/AIRPassthrough/";
var dirName = new DirectoryInfo(path).Name;

em vez de usar o '/' para a chamada para dividir, é melhor usar o Path.DirectorySeparatorChar :

igual a:

path.split(Path.DirectorySeparatorChar).Last() 






filepath