字符串中的 VB 净报价

VB Net Quotes in a string

提问人:jörg 提问时间:5/7/2022 最后编辑:Étienne Lanevillejörg 更新时间:5/7/2022 访问量:83

问:

我需要 VB Net 中字符串中的引号。

c = C:\test.doc

我怎样才能意识到字符串看起来像:

PrintFile /File="C:\test.doc" /OutputFile="C:\test.pdf"

在网上,我读到我必须加倍报价...... 但这行不通:

" PrintFile /File=""" & c & """ /OutputFile=""" & pfadFertig & pdfName & ".pdf"""

我怎样才能获得并出现在引号中?cpfadFertig & pdfName & .pdf

字符串 vb.net 引号

评论

0赞 JayV 5/7/2022
我运行了您的代码,猜测 cpfadFertigpdfName 的值。对我来说一切看起来都很好,输出为:PrintFile /File=“C:\test.doc” /OutputFile=“C:\test.pdf”。
0赞 JayV 5/7/2022
你能编辑问题以包括你对变量的值和你得到的输出吗?
2赞 Hans Passant 5/7/2022
没关系。如果使用调试器查看它,请单击 spyglass 图标并选择“文本可视化工具”以查看实际字符串。

答:

4赞 user18387401 5/7/2022 #1

您确实必须将引号加倍。这是一个很好的例子,说明为什么你应该使用字符串插值,或者更好的是,字符串插值。使用串联运算符 () 已经使你的代码更难阅读,但有了所有额外的引号,它就更难了。执行此操作:String.Format&

Dim str = $"PrintFile /File=""{c}"" /OutputFile=""{pfadFertig}{pdfName}.pdf"""

它显然更容易阅读。

此外,我怀疑这是一个文件夹路径,在这种情况下,您应该使用它来创建文件路径:pfadFertigPath.Combine

Dim str = $"PrintFile /File=""{c}"" /OutputFile=""{Path.Combine(pfadFertig, pdfName)}.pdf"""

Path.Combine将确保正确的斜杠数量,无论输入中包含什么尾部或前导斜杠,因此您永远不会出错。在这种情况下,我可能会原谅一个串联运算符,因为它可能看起来更自然:

Dim str = $"PrintFile /File=""{c}"" /OutputFile=""{Path.Combine(pfadFertig, pdfName & ".pdf")}"""