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