Path.ChangeExtension(String, String) Método

Definição

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

public:
 static System::String ^ ChangeExtension(System::String ^ path, System::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 período à esquerda). Especifique null para remover uma extensão existente de path.

Retornos

As informações do caminho modificado.

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

Exceções

Versões do .NET Framework e do .NET Core com mais de 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;
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 path nem extension 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 contém o conteúdo do path último período e todos os caracteres que o seguem foram removidos.

Se extension for uma cadeia de caracteres vazia, a cadeia de caracteres de caminho retornada conterá o conteúdo de path 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 seguida 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 do path ú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