Path.ChangeExtension(String, String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cambia la extensión de una cadena de ruta de acceso.
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
La información de ruta de acceso que se va a modificar.
- extension
- String
Nueva extensión (con o sin un punto inicial). Especifique null
para quitar una extensión existente de path
.
Devoluciones
Información de la ruta de acceso modificada.
En plataformas de escritorio basadas en Windows, si path
es null
o una cadena vacía (""), la información de ruta de acceso se devuelve sin modificar. Si extension
es null
, la cadena devuelta contiene la ruta de acceso especificada, de la que se elimina la extensión. Si path
no tiene extensión y extension
no es null
, la cadena de ruta de acceso devuelta contiene extension
anexado al final de path
.
Excepciones
Versiones de .NET Framework y .NET Core anteriores a la 2.1: path
contiene uno o varios de los caracteres no válidos definidos en GetInvalidPathChars().
Ejemplos
En el ejemplo siguiente se muestra un uso del 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'
Comentarios
Si ni path
contiene extension
un punto (.), ChangeExtension
agrega el período.
El extension
parámetro puede contener varios puntos y cualquier carácter de ruta de acceso válido, y puede ser cualquier longitud. Si extension
es null
, la cadena devuelta contiene el contenido de path
con el último punto y todos los caracteres que siguen a ella quitados.
Si extension
es una cadena vacía, la cadena de ruta de acceso devuelta contiene el contenido de path
con cualquier carácter después del último período quitado.
Si path
no tiene una extensión y extension
no null
es , la cadena devuelta contiene path
seguida de extension
.
Si extension
no null
es y no contiene un período inicial, se agrega el período.
Si path
contiene una extensión múltiple separada por varios puntos, la cadena devuelta contiene el contenido de path
por el último punto y todos los caracteres que siguen a él reemplazados por extension
. Por ejemplo, si path
es "\Dir1\examples\pathtests.csx.txt" y extension
es "cs", la ruta de acceso modificada es "\Dir1\examples\pathtests.csx.cs".
No es posible comprobar que los resultados devueltos son válidos en todos los escenarios. Por ejemplo, si path
está vacío, extension
se anexa.
Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.