Path.ChangeExtension(String, String) Método

Definição

Altera a extensão de uma cadeia de 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

A informação do percurso a modificar.

extension
String

A nova extensão (com ou sem ponto inicial). Especifique null remover uma extensão existente de path.

Devoluções

A informação do caminho modificada.

Em plataformas de ambiente de trabalho baseadas em Windows, se path for null ou uma cadeia vazia (""), a informação do caminho é devolvida sem alterações. Se extension for null, a cadeia retornada contém o caminho especificado com a sua extensão removida. Se path não tem extensão, e extension não nullé , a cadeia de caminho retornada contém extension anexada ao fim de path.

Exceções

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

Exemplos

O exemplo seguinte demonstra a utilização 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'

Observações

Se nenhum path ou extension contiver ponto (.), ChangeExtension adiciona o período.

O extension parâmetro pode conter múltiplos períodos e quaisquer caracteres de caminho válidos, podendo ter qualquer comprimento. Se extension for null, a cadeia retornada contém o conteúdo de path com o último ponto e todos os caracteres seguintes removidos.

Se extension for uma cadeia vazia, a cadeia de caminho retornada contém o conteúdo de path com quaisquer caracteres após o último período removidos.

Se path não tem extensão e extension não nullé , a cadeia retornada contém path seguida de extension.

Se extension não null for e não contiver um ponto inicial, o ponto é adicionado.

Se path contém uma extensão múltipla separada por vários períodos, a cadeia devolvida contém o conteúdo de path com o último ponto e todos os caracteres seguintes substituídos por extension. Por exemplo, se path for "\Dir1\examples\pathtests.csx.txt" e extension for "cs", o caminho modificado é "\Dir1\examples\pathtests.csx.cs".

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

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

Aplica-se a

Ver também