Partager via


Path.ChangeExtension(String, String) Méthode

Définition

Modifie l'extension d'une chaîne de chemin d'accès.

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

Paramètres

path
String

Informations relatives au chemin d’accès à modifier.

extension
String

Nouvelle extension (avec ou sans point de début). Spécifiez null pour supprimer une extension existante de path.

Retours

Informations relatives au chemin d'accès modifiées.

Sur les plateformes de bureau Windows, si path est null ou est une chaîne vide (""), les informations relatives au chemin d’accès sont retournées inchangées. Si extension est null, la chaîne retournée contient le chemin d'accès spécifié avec l'extension supprimée. Si path ne possède pas d’extension et si extension n’est pas null, la chaîne du chemin d’accès retournée contient extension, ajouté à la fin de path.

Exceptions

.NET Framework et .NET Core versions antérieures à 2.1 : path contient un ou plusieurs des caractères non valides définis dans GetInvalidPathChars().

Exemples

L’exemple suivant illustre l’utilisation de la ChangeExtension méthode .

#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'

Remarques

Si ni ne pathextension contient de point (.), ChangeExtension ajoute le point.

Le extension paramètre peut contenir plusieurs points et tous les caractères de chemin d’accès valides, et peut être n’importe quelle longueur. Si extension a la valeur null, la chaîne retournée contient le contenu de path avec le dernier point et tous les caractères qui le suivent supprimés.

Si extension est une chaîne vide, la chaîne de chemin d’accès retournée contient le contenu de path avec tous les caractères qui suivent le dernier point supprimé.

Si path n’a pas d’extension et extension n’est pas null, la chaîne retournée contient path suivie de extension.

Si extension n’est pas null et ne contient pas de période de début, le point est ajouté.

Si path contient une extension multiple séparée par plusieurs points, la chaîne retournée contient le contenu de path avec le dernier point et tous les caractères qui le suivent remplacés par extension. Par exemple, si path est « \Dir1\examples\pathtests.csx.txt » et extension « cs », le chemin modifié est « \Dir1\examples\pathtests.csx.cs ».

Il n’est pas possible de vérifier que les résultats retournés sont valides dans tous les scénarios. Par exemple, si path est vide, extension est ajouté.

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.

S’applique à

Voir aussi