在 C# 中将我自己的非法字符插入到 Path.GetInvalidFileNameChars() 中
如何扩展 Path.GetInvalidFileNameChars
以包含我自己的应用程序中非法的字符集?
string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());
如果我想添加“&”作为一个非法角色,我可以这样做吗?
How can I extend the Path.GetInvalidFileNameChars
to include my own set of characters that is illegal in my application?
string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());
If I wanted to add the '&' as an illegal character, could I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
试试这个:
这将产生一个包含所有无效字符(包括您的字符)的
IEnumerable
。这是一个完整的示例:
Try this:
This will yeild an
IEnumerable<char>
with all invalid characters, including yours.Here is a full example:
您无法修改现有函数,但可以编写一个包装函数,该函数返回 Path.GetInvalidFileNameChars() 和非法字符。
You can't modify an existing function, but you can write a wrapper function that returns
Path.GetInvalidFileNameChars()
and your illegal characters.扩展方法是您最好的选择。
然后按如下方式使用它:
string invalid = Path.GetInvalidFileNameChars().GetApplicationInvalidChars();
它将把无效字符连接到其中已有的字符。
An extension method is your best bet here.
Then use it as follows:
string invalid = Path.GetInvalidFileNameChars().GetApplicationInvalidChars();
It will concatenate your invalid characters to what's already in there.
首先创建一个辅助类“SanitizeFileName.cs”
然后,像这样使用它:
在我的例子中,我必须清理 ac# 下载方法中响应标头中“内容沉积”上的“文件名”。
First create a helper class "SanitizeFileName.cs"
Then, use it like this:
in my case, i had to clean up the "filename" on the "Content-Deposition" in Response Headers in a c# download method.