Path.ChangeExtension(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 path
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 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 null
for , 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.