以下C代码:
using System;
namespace TrimTest {
class Program {
static void Main(string[] args) {
Console.WriteLine(Environment.CommandLine);
Console.WriteLine(Environment.CommandLine.Trim('"'));
Console.ReadKey(false);
}
}
}
产生以下输出:
"D:\Projects\TrimTest\TrimTest\bin\Debug\TrimTest.vshost.exe"
D:\Projects\TrimTest\TrimTest\bin\Debug\TrimTest.vshost.exe"
除非我误读了:
trimchars参数中所有字符出现后保留的字符串将从当前字符串对象的开始和结束处删除。如果trimchars为空或为空数组,则将删除空白字符。
不应该从输出的第二个字符串中修剪尾随的双引号吗?
最佳答案
看起来你可能会遇到最后一个双引号后面有尾随空格的情况。
尝试:
Console.WriteLine(Environment.CommandLine.Trim().Trim('"'));
看看会发生什么。
还可以将参数数组中的额外字符传递给已使用的重载:
Console.WriteLine(Environment.CommandLine.Trim('"', ' '));
但是由于我不知道有什么样的空白,我更喜欢使用重载来删除所有的空白,而不是猜测有哪个字符。