Wie kann ich in c # feststellen, ob eine Zeichenfolge neben einem regulären Ausdruck eine lokale Ordnerzeichenfolge oder eine Netzwerkzeichenfolge ist?
Zum Beispiel:
Ich habe eine Zeichenfolge, die "c:\a"
oder "\foldera\folderb"
Ich denke, die vollständige Antwort auf diese Frage ist die Verwendung der DriveInfo.DriveType-Eigenschaft.
%Vor%Testen Sie den Pfad, um zu sehen, ob er mit einem Schrägstrich beginnt und wenn dies der Fall ist, handelt es sich um einen UNC-Pfad. In diesem Fall müssen Sie davon ausgehen, dass es sich um einen Netzwerkpfad handelt - in Wirklichkeit handelt es sich möglicherweise nicht um einen Pfad, der auf einen anderen Computer zeigt, sondern um einen UNC-Pfad, der auf Ihre lokale Maschine verweist Wahrscheinlich für die meisten Menschen, denke ich, aber Sie könnten Prüfungen für diese Bedingung hinzufügen, wenn Sie eine kugelsicherere Lösung wollten.
Wenn der Pfad nicht mit einem Schrägstrich beginnt, verwenden Sie die DriveInfo.DriveType-Eigenschaft, um festzustellen, ob es sich um ein Netzlaufwerk handelt oder nicht.
Eine weitere Möglichkeit, um zu überprüfen, ob der Pfad auf ein lokales Laufwerk oder Netzlaufwerk zeigt:
%Vor% interessante Frage und Antworten,
Ich könnte versuchen, eine einfache pathstring.Substring(1, 2) != @":\"
.
überprüfen Sie auch, dass 'pathstring nicht null Länge oder null
ist** bearbeitet