返回信息流在.net 4.0下 有如下代码
string ss =this.试卷DataGridView.Rows[i].Cells[4].Value.ToString ();
bool p = ss.Contains("\\");
ss = ss.Replace("\\", @"\"); 转化结果是和以前一样,原因是进行了转化,但是string类还会把\转化为\\
para[1] = prs.Open(@ss);
ss 在数据库中的内容 B:\000\PowerPoint5.ppt
ss 在字符串中的内容 B:\\000\\PowerPoint5.ppt
ss 是需要打开的一个路径,所以包含的必须是 \,但是string会把它默认转化为\\ (包含转义)
这样就打不开响应的文件?
请教如何解决?
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3807同步于 2012/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
不解??
FREEYT
2012/6/26镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
不需要转换,
你在调试窗口看到是未转义的字符 \\ 就是 \
【 在 FREEYT 的大作中提到: 】
: 在.net 4.0下 有如下代码
: string ss =this.试卷DataGridView.Rows[i].Cells[4].Value.ToString ();
: bool p = ss.Contains("\\");
: ...................
但是用 \\ 打不开在我电脑上的文件,不过同样的软件在其他电脑上没有问题,会不会是操作系统的原因,我的是win7 64位的。
【 在 ahomer 的大作中提到: 】
: 不需要转换,
: 你在调试窗口看到是未转义的字符 \\ 就是 \
:
你是直接copy 然后再“我的电脑打开”吗....
程序读取这个路径下文件 应该是没问题了,除非路径不对
【 在 FREEYT 的大作中提到: 】
: 但是用 \\ 打不开在我电脑上的文件,不过同样的软件在其他电脑上没有问题,会不会是操作系统的原因,我的是win7 64位的。
我是直接在程序里面打开的,路径存储在数据库中,程序负责读取和打开,让后就总是打开失败,返回的对象是NULL
【 在 ahomer 的大作中提到: 】
: 你是直接copy 然后再“我的电脑打开”吗....
: 程序读取这个路径下文件 应该是没问题了,除非路径不对
para[1] = prs.Open(@ss);
没事不要乱加@这个符号,除非你确定你明白它的含义,去掉就好。
不过我觉得你应该实在一点,直接用C 的那种方式。格式还统一些,不要一会加个@一会\\的,这会搞蒙的。
祝你好运
非常感谢,是这样,在数据库中存储的是: \ 然后读到程序里面就成了\\ ,这个问题只在我电脑上出现了,所以一直很不解!
再次致谢!
【 在 Anti2005 的大作中提到: 】
: para[1] = prs.Open(@ss);
: 没事不要乱加@这个符号,除非你确定你明白它的含义,去掉就好。
: 不过我觉得你应该实在一点,直接用C 的那种方式。格式还统一些,不要一会加个@一会\\的,这会搞蒙的。
: ...................