【问题标题】:Path/File name backslash in C#C# 中的路径/文件名反斜杠
【发布时间】:2023-04-08 20:38:01
【问题描述】:

我正在从 VB 转换为 C#,而在 C# 中我似乎无法简单地将路径字符串写入应用程序设置..

D:\Something  becomes D:\\Something

我也试过@"D:\Something",但这也不起作用。

那么正确的方法是什么?假设我想要两个设置;路径和文件名。我应该如何格式化它们,以便 Path.Combine 使其成为数据库的有效文件路径/名称,或者换句话说,具有单个反斜杠?

【问题讨论】:

  • @"D:\Something" 有什么问题?
  • 你能发布你正在转换的整个路径吗
  • D:\Something 有时会显示为D:\\Something,这里没有迹象表明存在真正的问题。
  • 不确定但 VB 字符串有双 " 而不是一个
  • @juergend 在应用程序设置中输入代码:@\"D:\\Something\" 但似乎第一个选项可以正常工作,我被我认为与 NHibernate 异常有关的问题弄糊涂了路径,但不是。

标签: c# .net


【解决方案1】:

您的代码工作正常 - 当您读取带有双斜杠的字符串时,它们再次变为单斜杠。这称为转义。它旨在让您输入特殊字符作为以\ 开头的序列。单斜线在此方案中变得特殊,因此您还需要使用斜线对其进行转义。

【讨论】:

  • 所以我应该输入或保存所有带有双斜杠的路径?
  • @bretddog 根据this question,它可以双向工作。您不需要这样做,但这样做也可以。还有this answer暗示转义字符串往往是在调试器中查看字符串的神器。
  • 我明白了,被无关的异常弄糊涂了。
猜你喜欢
  • 2017-03-16
  • 2014-02-04
  • 2013-07-23
  • 2016-11-20
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 2015-03-24
相关资源
最近更新 更多