Esta documentación está archivada y no tiene mantenimiento.

Path.ChangeExtension (Método)

Actualización: noviembre 2007

Cambia la extensión de una cadena de ruta de acceso.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

public static string ChangeExtension(
	string path,
	string extension
)
public static String ChangeExtension(
	String path,
	String extension
)
public static function ChangeExtension(
	path : String, 
	extension : String
) : String

Parámetros

path
Tipo: System.String
La información de ruta de acceso que se va a modificar. La ruta de acceso no puede contener ninguno de los caracteres definidos en GetInvalidPathChars.
extension
Tipo: System.String
Nueva extensión (con o sin un punto inicial). Especifique null para quitar una extensión existente de path.

Valor devuelto

Tipo: System.String
Cadena que contiene la información de 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.

ExcepciónCondición
ArgumentException

path contiene uno o varios de los caracteres no válidos definidos en GetInvalidPathChars.

Si ni path ni extension contienen un punto (.), ChangeExtension agrega el punto.

El parámetro extension puede contener múltiples puntos y cualquier carácter válido para la ruta de acceso y puede tener cualquier longitud. Si extension es null, la cadena devuelta contiene el contenido de path, del que se eliminan el último punto y todos los caracteres siguientes.

Si extension es una cadena vacía, la cadena de ruta de acceso devuelta contiene el contenido de path, del que se eliminan los caracteres siguientes al último punto.

Si path no tiene extensión y extension no es null, la cadena devuelta contiene path seguida por extension.

Si extension no es null y no contiene un punto inicial, se agrega el punto.

Si path contiene una extensión múltiple separada por múltiples puntos, la cadena devuelta contiene el contenido de path, con el último punto y todos los caracteres siguientes 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 si los resultados devueltos son válidos en todos los escenarios. Por ejemplo, si path está vacío, se agrega extension.

Para obtener una lista de tareas de E/S comunes, vea Tareas de E/S comunes.

En el ejemplo de código siguiente se muestra cómo utilizar el método ChangeExtension.

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'


import System.*;
import 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);


var goodFileName : String = "C:\\mydir\\myfile.com.extension";
var badFileName : String = "C:\\mydir\\";
var result : 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); 


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0
Mostrar: