String.Format中的 @ 和 % 是什么意思

bimota 2009-12-03 10:09:09
别人写了一个函数把pdf存到硬盘上, 其中两句:
String.Format(@"%TEMP%\{0}", Guid.NewGuid()
String.Format(@"{0}\{1}.pdf", tempdir, fileName);

不是很理解 @ 和 % 是什么意思, 请教大家, 我想指定路径为 D:\PDF report, 不知跟着两个符号有没有关系, 谢谢了....
...全文
769 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
bimota 2009-12-03
  • 打赏
  • 举报
回复
感谢各位的发言, 现在基本上懂了, %temp%是windows的程序, 同理还有%system%这些, 这里的%temp%要跟Environment.ExpandEnvironmentVariables结合使用, 一开始不知道所有没有写出这个. 还有最后一个问题, 既然%***%这些是windows预定义的, 有没有用来表示D盘的? 因为文件想存到D盘...再次感谢一下.
qldsrx 2009-12-03
  • 打赏
  • 举报
回复
%保持原意,就是百分号的意思,在C#中没有其它意义,不过在Windows系统中,%temp%代表系统的临时文件夹,你在“开始”->“运行”里输入%temp%,会打开那个文件夹的,这是和C#无关的符号。
acqy 2009-12-03
  • 打赏
  • 举报
回复
在C#的string.Format中,不会对%作处理,因此,还是会输出%TEMP%这样的内容
acqy 2009-12-03
  • 打赏
  • 举报
回复
%跟string.Format没有关系。%temp%是Windows系统的事情,它是一个环境变量,代表着您的零时目录地址。

你可以到dos提示符下,输入:
echo %temp%

然后你就可以看到具体的零时目录地址了
bimota 2009-12-03
  • 打赏
  • 举报
回复
5楼的朋友, 请问"%原样输出"怎么理解
Mirana_NightShade 2009-12-03
  • 打赏
  • 举报
回复
up
bimota 2009-12-03
  • 打赏
  • 举报
回复
谢谢大家的解答,
@符号:明白了,就是对后边引号内的所有保留字符转义, 而不用每个都加"/"在前边
%符号:还是不明白, 如果像3楼所说的%temp%为路径, 那%具体是什么意思? temp前后都有%, 是成对出现的还是每个%本身有自己的意思?
十八道胡同 2009-12-03
  • 打赏
  • 举报
回复
String.Format(@"%TEMP%\{0}", Guid.NewGuid()
的结果是%TEMP%\Guid.NewGuid()
%原样输出
hitlcyu19 2009-12-03
  • 打赏
  • 举报
回复
恩 上面说的挺清楚的了
sohighthesky 2009-12-03
  • 打赏
  • 举报
回复
%TEMP%应该是环境变量,指你电脑上temp文件夹路径
十八道胡同 2009-12-03
  • 打赏
  • 举报
回复
@""
字符串前面加@是给字符串转义。
zetee 2009-12-03
  • 打赏
  • 举报
回复
string a=“\\a”; \是转义符合 实际上a存的就是 "\a"
上面的表达式就等价于
string a=@“\a”;
所以@ 的意思 =就是 这个字符串,忽略转义符合

% 没什么意思
liherun 2009-12-03
  • 打赏
  • 举报
回复
养成及时结贴好习惯
bimota 2009-12-03
  • 打赏
  • 举报
回复
谢谢你们, 结贴, 加强基础知识学习 :)
Java_And_NET 2009-12-03
  • 打赏
  • 举报
回复
使用@,系统会自动给你的路径字符串中的转义'\',改为'\\',
C#中'\'是转义符,
比如:'\''
输出: '
比如: '\"'
输出: "
.......
十八道胡同 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 bimota 的回复:]
感谢各位的发言, 现在基本上懂了, %temp%是windows的程序, 同理还有%system%这些, 这里的%temp%要跟Environment.ExpandEnvironmentVariables结合使用, 一开始不知道所有没有写出这个. 还有最后一个问题, 既然%***%这些是windows预定义的, 有没有用来表示D盘的? 因为文件想存到D盘...再次感谢一下.
[/Quote]
你可以看看你的环境变量
bimota 2009-12-03
  • 打赏
  • 举报
回复
找了好久都没找到, 实在不行直接就D:\.....表示算了~~~~

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧