Path.ChangeExtension(String, String) Метод

Определение

Изменяет расширение строки пути.

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

Параметры

path
String

Сведения о пути для изменения.

extension
String

Новое расширение (с ведущим периодом или без нее). Укажите null , чтобы удалить существующее расширение из path.

Возвращаемое значение

Измененные сведения о пути.

На настольных платформах на основе Windows, если pathnull или пустая строка (""), сведения о пути возвращаются неизмененные. Если extension это nullтак, возвращаемая строка содержит указанный путь с удаленным расширением. Если path расширение отсутствует и extension не nullявляется, возвращаемая строка пути содержит extension добавленную к концу path.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path содержат один или несколько недопустимых символов, определенных в GetInvalidPathChars().

Примеры

В следующем примере показано использование 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'
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'

Комментарии

Если период path (.) не extension содержится, ChangeExtension добавляется период.

Параметр extension может содержать несколько периодов и любые допустимые символы пути, и может быть любой длиной. Если extension это nullтак, возвращаемая строка содержит содержимое path с последним периодом и все символы после удаления.

Если extension это пустая строка, возвращаемая строка пути содержит содержимое path с любыми символами после последнего периода.

Если path расширение не имеется, extensionnullвозвращается строка path , за которой следует extension.

Если extension этот период отсутствует и не null содержит ведущий период, добавляется период.

Если path содержится несколько расширений, разделенных несколькими периодами, возвращаемая строка содержит содержимое path с последним периодом, а все символы после него заменены extension. Например, если path задано значение "\Dir1\examples\pathtests.csx.txt" и extension имеет значение cs, измененный путь — "\Dir1\examples\pathtests.csx.cs".

Невозможно убедиться, что возвращаемые результаты допустимы во всех сценариях. Например, если path он пуст, extension добавляется.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

Применяется к

См. также раздел