Path.ChangeExtension(String, String) Método

Definição

Altera a extensão de uma cadeia de caracteres do caminho.

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

Parâmetros

path
String

As informações de caminho a serem modificadas.

extension
String

A nova extensão (com ou sem um ponto à esquerda). Especifique null para remover uma extensão do path.

Retornos

As informações de caminho modificadas.

Em plataformas de área de trabalho baseadas no Windows, se path for null ou uma cadeia de caracteres vazia (""), as informações de caminho serão retornadas sem modificações. Se extension for null, a cadeia de caracteres retornada conterá o caminho especificado com sua extensão removida. Se o path não tiver uma extensão e extension não for null, a cadeia de caracteres de caminho retornada conterá extension acrescentado ao final de path.

Exceções

.NET Framework e versões do .NET Core anteriores à 2.1: path contém um ou mais dos caracteres inválidos definidos em GetInvalidPathChars().

Exemplos

O exemplo a seguir demonstra o uso do ChangeExtension método .

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

Comentários

Se nem pathextension contiver um ponto (.), ChangeExtension adicionará o período.

O extension parâmetro pode conter vários períodos e quaisquer caracteres de caminho válidos e pode ter qualquer comprimento. Se extension for null, a cadeia de caracteres retornada conterá o conteúdo de path com o último período e todos os caracteres após ele removidos.

Se extension for uma cadeia de caracteres vazia, a cadeia de caracteres de caminho retornada conterá o conteúdo de path com qualquer caractere após o último período removido.

Se path não tiver uma extensão e extension não nullfor , a cadeia de caracteres retornada conterá path seguido por extension.

Se extension não null for e não contiver um período à esquerda, o período será adicionado.

Se path contiver uma extensão múltipla separada por vários períodos, a cadeia de caracteres retornada conterá o conteúdo de path com o último período e todos os caracteres após a substituição por extension. Por exemplo, se path for "\Dir1\examples\pathtests.csx.txt" e extension for "cs", o caminho modificado será "\Dir1\examples\pathtests.csx.cs".

Não é possível verificar se os resultados retornados são válidos em todos os cenários. Por exemplo, se path estiver vazio, extension será acrescentado.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Aplica-se a

Confira também