当用户输入一个路径时,往往会忽略路径末尾的“\”,如:“F:”,当我们需要访问这个路径下文件时,需对这个字符串进行判断,并返回新的字符串。
运行结果如下:
源代码如下:
using System;
class Program
{
static void Main(string[] args)
{
// 假设有一个字符串变量
string myString = "F:\\微信文件\\删除";
//注意:字符串中想得到一个\,那么需要输入两个\\,因为\是转义字符
// 检查字符串末尾是否是反斜杠
if (!myString.EndsWith("\\"))
{
// 如果不是,则在末尾添加反斜杠
myString += "\\";
}
// 输出结果
Console.WriteLine(myString);
Console.ReadLine();
}
}
以下代码为根据vs官方代码改编:
// copyright@qq443440204 @2024年8月9日11:26:03
// 判断字符串末尾
using System;
using System.Threading;
class Sample
{
public static void Main()
{
string 说明 = "判断字符串a的末尾是否为指定字符或字符串b, " +
"\n比较。";
//不同的比较方法,放入一个数组 StringComparison是 枚举
StringComparison[] 枚举比较方法数组 = {
StringComparison.CurrentCulture,//区分大小写
StringComparison.CurrentCultureIgnoreCase,//不区分大小写
StringComparison.InvariantCulture,
StringComparison.InvariantCultureIgnoreCase,
StringComparison.Ordinal,//二进制
StringComparison.OrdinalIgnoreCase };//忽略大小写
Console.WriteLine(说明);
Console.WriteLine("当前语言是{0}:\n",Thread.CurrentThread.CurrentCulture.Name);
// 分别用不同的方法进行比较 StringComparison是 枚举
foreach (StringComparison 比较方法 in 枚举比较方法数组)
{
Console.WriteLine("比较方法是:StringComparison.{0}:", 比较方法);
Test("abcXYZ", "XYZ", 比较方法);
Test("abcXYZ", "xyz", 比较方法);
Console.WriteLine();
}
}
protected static void Test(string 字符串a, string 字符串b, StringComparison 比较方法1)
{
string resultFmt = "\"{0}\" {1} : {2}.";
//"\"{0}\":这是一个占位符,{0}表示这是第一个要替换的位置。注意,因为双引号(")在字符串中是特殊字符,用于界定字符串的边界,
//所以如果要在字符串内部表示双引号,需要使用转义字符\。因此,\"实际上是表示一个双引号字符。
//所以,这个占位符实际上代表了一个由双引号括起来的文本区域,这个区域的内容将在格式化时被替换为第一个参数的值。
string 是否 = "结尾不是";
if (字符串a.EndsWith(字符串b,比较方法1))
是否 = "结尾是";
Console.WriteLine(resultFmt, 字符串a,是否, 字符串b);
Console.ReadKey();
}
}