Freigeben über


Path.ChangeExtension(String, String) Methode

Definition

Ändert die Erweiterung einer Pfadzeichenfolge.

public:
 static System::String ^ ChangeExtension(System::String ^ path, System::String ^ extension);
public static string ChangeExtension (string path, string extension);
public static string? ChangeExtension (string? path, string? extension);
static member ChangeExtension : string * string -> string
Public Shared Function ChangeExtension (path As String, extension As String) As String

Parameter

path
String

Die zu ändernden Pfadinformationen.

extension
String

Die neue Erweiterung (mit oder ohne führenden Punkt). Geben Sie null an, um eine vorhandene Erweiterung aus path zu entfernen.

Gibt zurück

Die geänderten Pfadinformationen.

Auf Desktopplattformen auf Grundlage von Windows werden die Pfadinformationen unverändert zurückgegeben, wenn pathnull oder eine leere Zeichenfolge ("") ist. Wenn extensionnull ist, enthält die zurückgegebene Zeichenfolge den angegebenen Pfad ohne die Erweiterung. Wenn path keine Erweiterung besitzt und extension nicht null ist, enthält die zurückgegebene Pfadzeichenfolge extension, angefügt an das Ende von path.

Ausnahmen

.NET Framework- und .NET Core-Versionen älter als 2.1: path enthält mindestens eins der ungültigen Zeichen, die in GetInvalidPathChars()definiert sind.

Beispiele

Im folgenden Beispiel wird die Verwendung der ChangeExtension -Methode veranschaulicht.

#using <system.dll>

using namespace System;
using namespace System::IO;
void ChangeExtension()
{
   String^ goodFileName = "C:\\mydir\\myfile.com.extension";
   String^ badFileName = "C:\\mydir\\";
   String^ result;
   result = Path::ChangeExtension( goodFileName,  ".old" );
   Console::WriteLine( "ChangeExtension({0}, '.old') returns '{1}'", goodFileName, result );
   result = Path::ChangeExtension( goodFileName,  "" );
   Console::WriteLine( "ChangeExtension({0}, '') returns '{1}'", goodFileName, result );
   result = Path::ChangeExtension( badFileName,  ".old" );
   Console::WriteLine( "ChangeExtension({0}, '.old') returns '{1}'", badFileName, result );
   
   // This code produces output similar to the following:
   //
   // ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
   // ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
   // ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'
using System;
using System.IO;

public class PathSnippets
{

    public void ChangeExtension()
    {
        string goodFileName = @"C:\mydir\myfile.com.extension";
        string badFileName = @"C:\mydir\";
        string result;

        result = Path.ChangeExtension(goodFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
            goodFileName, result);

        result = Path.ChangeExtension(goodFileName, "");
        Console.WriteLine("ChangeExtension({0}, '') returns '{1}'",
            goodFileName, result);

        result = Path.ChangeExtension(badFileName, ".old");
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
            badFileName, result);

        // This code produces output similar to the following:
        //
        // ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
        // ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
        // ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'
Imports System.IO

Public Class PathSnippets
    Public Sub ChangeExtension()
        Dim goodFileName As String = "C:\mydir\myfile.com.extension"
        Dim badFileName As String = "C:\mydir\"
        Dim result As String
        result = Path.ChangeExtension(goodFileName, ".old")
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", goodFileName, result)
        result = Path.ChangeExtension(goodFileName, "")
        Console.WriteLine("ChangeExtension({0}, '') returns '{1}'", goodFileName, result)
        result = Path.ChangeExtension(badFileName, ".old")
        Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'", badFileName, result)

        ' This code produces output similar to the following:
        '
        ' ChangeExtension(C:\mydir\myfile.com.extension, '.old') returns 'C:\mydir\myfile.com.old'
        ' ChangeExtension(C:\mydir\myfile.com.extension, '') returns 'C:\mydir\myfile.com.'
        ' ChangeExtension(C:\mydir\, '.old') returns 'C:\mydir\.old'

Hinweise

Wenn weder path noch extension einen Punkt (.) enthält, ChangeExtension wird der Punkt hinzugefügt.

Der extension Parameter kann mehrere Punkte und alle gültigen Pfadzeichen enthalten und eine beliebige Länge aufweisen. Wenn extension ist null, enthält die zurückgegebene Zeichenfolge den Inhalt von path mit dem letzten Punkt und allen Zeichen, die darauf folgen, dass sie entfernt wurde.

Wenn extension es sich um eine leere Zeichenfolge handelt, enthält die zurückgegebene Pfadzeichenfolge den Inhalt von path mit allen Zeichen, die nach dem letzten Zeitraum entfernt wurden.

Wenn path keine Erweiterung und extension nicht nullvorhanden ist, enthält path die zurückgegebene Zeichenfolge gefolgt von extension.

Wenn extension dies nicht null der Fall ist und keinen vorangestellten Zeitraum enthält, wird der Zeitraum hinzugefügt.

Wenn path eine durch mehrere Punkte getrennte Erweiterung enthält, enthält die zurückgegebene Zeichenfolge den Inhalt von path mit dem letzten Punkt und alle nachfolgenden Zeichen, die durch ersetzt werden extension. Wenn path beispielsweise "\Dir1\examples\pathtests.csx.txt" und extension "cs" ist, lautet der geänderte Pfad "\Dir1\examples\pathtests.csx.cs".

Es ist nicht möglich, zu überprüfen, ob die zurückgegebenen Ergebnisse in allen Szenarien gültig sind. Wenn beispielsweise path leer ist, extension wird angefügt.

Eine Liste allgemeiner E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Gilt für:

Weitere Informationen