Path.ChangeExtension(String, String) Método

Definición

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

Se aplica a

Consulte también