Path.ChangeExtension(String, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更改路径字符串的扩展。
public:
static System::String ^ ChangeExtension(System::String ^ path, System::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的桌面平台上,如果 path 为 null 或空字符串(“),则返回未修改的路径信息。
null如果是extension,则返回的字符串包含指定路径,其扩展名已删除。 如果没有 path 扩展名, extension 并且不是 null,则返回的路径字符串包含 extension 追加到末尾 path。
例外
低于 2.1 的 .NET Framework 和 .NET Core 版本: 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 参数可以包含多个句点和任何有效的路径字符,并且可以是任意长度。
null如果是extension,则返回的字符串包含path最后一个句点的内容及其删除后的所有字符。
如果 extension 为空字符串,则返回的路径字符串包含与最后一个句点删除后的任何字符的内容 path 。
如果没有 path 扩展名, extension 则 null返回的字符串 path 包含 extension后跟。
如果 extension 不是 null 且不包含前导期,则添加句点。
如果 path 包含由多个句点分隔的多个扩展,则返回的字符串包含最后一个句点的内容 path 及其后 extension的所有字符。 例如,如果 path 为“\Dir1\examples\pathtests.csx.txt”且 extension 为“cs”,则修改的路径为“\Dir1\examples\pathtests.csx.cs”。
无法验证返回的结果在所有方案中是否有效。 例如,如果 path 为空, extension 则追加。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。