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);
static member ChangeExtension : string * string -> string
Public Shared Function ChangeExtension (path As String, extension As String) As String

Parámetros

path
String

Información de ruta de acceso que se va a modificar.

extension
String

Nueva extensión (con o sin un período inicial). Especifique null para quitar una extensión existente de path.

Devoluciones

Información de ruta de acceso modificada.

En las 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 con su extensión quitada. Si path no tiene ninguna extensión y extension no nulles , la cadena de ruta de acceso devuelta contiene extension anexada 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;
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 contiene pathextension 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 tener cualquier longitud. Si extension es null, la cadena devuelta contiene el contenido de path con el último punto y todos los caracteres siguientes a él quitados.

Si extension es una cadena vacía, la cadena de ruta de acceso devuelta contiene el contenido de path con los caracteres siguientes al ú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 comunes de E/S, consulte Tareas comunes de E/S.

Se aplica a

Consulte también