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 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.