Sdílet prostřednictvím


Path.ChangeExtension(String, String) Metoda

Definice

Změní rozšíření řetězce cesty.

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

Parametry

path
String

Informace o cestě, které chcete upravit.

extension
String

Nové rozšíření (s úvodní tečkou nebo bez). Určete null , jestli chcete odebrat existující rozšíření z path.

Návraty

Informace o změněných cest.

Pokud je null na desktopových platformách path s Windows nebo prázdný řetězec (""), informace o cestě se vrátí beze změny. Pokud extension je null, vrácený řetězec obsahuje zadanou cestu s odebraným rozšířením. Pokud path nemá žádné rozšíření a extension není null, obsahuje vrácený řetězec extension cesty připojený na konec .path

Výjimky

.NET Framework a .NET Core verze starší než 2.1: path obsahuje jeden nebo více neplatných znaků definovaných v GetInvalidPathChars()nástroji .

Příklady

Následující příklad ukazuje použití ChangeExtension metody.

#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'

Poznámky

Pokud tečku (.) neobsahuje pathextension , ChangeExtension přidá se tečka.

Parametr extension může obsahovat více tečk a platných znaků cesty a může mít libovolnou délku. Pokud extension je null, obsahuje vrácený řetězec obsah path s poslední tečkou a všechny znaky za ním odebrané.

Pokud extension je prázdný řetězec, vrácený řetězec cesty obsahuje obsah path s odebranými znaky za poslední tečkou.

Pokud path nemá příponu a extension není null, obsahuje vrácený řetězec path následovaný řetězcem extension.

Pokud extension není null a neobsahuje počáteční období, přidá se období.

Pokud path obsahuje více přípon oddělených více tečkami, obsahuje vrácený řetězec obsah path s poslední tečkou a všechny znaky za ním nahrazené znakem extension. Pokud je například path "\Dir1\examples\pathtests.csx.txt" a extension "cs", upravená cesta je "\Dir1\examples\pathtests.csx.cs".

Není možné ověřit, jestli jsou vrácené výsledky platné ve všech scénářích. Pokud je například path prázdný, extension připojí se.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Platí pro

Viz také