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 добавляется.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.