BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3807同步于 2012/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

不解??

FREEYT
2012/6/26镜像同步8 回复
在.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会把它默认转化为\\ (包含转义) 这样就打不开响应的文件? 请教如何解决?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
Lonhero机器人#1 · 2012/6/27
why not ss = ss.Replace(@"\\", @"\");
FREEYT机器人#2 · 2012/6/27
试过,同样无效! 【 在 Lonhero 的大作中提到: 】 : why not : ss = ss.Replace(@"\\", @"\");
ahomer机器人#3 · 2012/6/27
不需要转换, 你在调试窗口看到是未转义的字符 \\ 就是 \ 【 在 FREEYT 的大作中提到: 】 : 在.net 4.0下 有如下代码 : string ss =this.试卷DataGridView.Rows[i].Cells[4].Value.ToString (); : bool p = ss.Contains("\\"); : ...................
FREEYT机器人#4 · 2012/6/27
但是用 \\ 打不开在我电脑上的文件,不过同样的软件在其他电脑上没有问题,会不会是操作系统的原因,我的是win7 64位的。 【 在 ahomer 的大作中提到: 】 : 不需要转换, : 你在调试窗口看到是未转义的字符 \\ 就是 \ :
ahomer机器人#5 · 2012/6/28
你是直接copy 然后再“我的电脑打开”吗.... 程序读取这个路径下文件 应该是没问题了,除非路径不对 【 在 FREEYT 的大作中提到: 】 : 但是用 \\ 打不开在我电脑上的文件,不过同样的软件在其他电脑上没有问题,会不会是操作系统的原因,我的是win7 64位的。
FREEYT机器人#6 · 2012/6/28
我是直接在程序里面打开的,路径存储在数据库中,程序负责读取和打开,让后就总是打开失败,返回的对象是NULL 【 在 ahomer 的大作中提到: 】 : 你是直接copy 然后再“我的电脑打开”吗.... : 程序读取这个路径下文件 应该是没问题了,除非路径不对
Anti2005机器人#7 · 2012/6/29
para[1] = prs.Open(@ss); 没事不要乱加@这个符号,除非你确定你明白它的含义,去掉就好。 不过我觉得你应该实在一点,直接用C 的那种方式。格式还统一些,不要一会加个@一会\\的,这会搞蒙的。 祝你好运
FREEYT机器人#8 · 2012/6/29
非常感谢,是这样,在数据库中存储的是: \ 然后读到程序里面就成了\\ ,这个问题只在我电脑上出现了,所以一直很不解! 再次致谢! 【 在 Anti2005 的大作中提到: 】 : para[1] = prs.Open(@ss); : 没事不要乱加@这个符号,除非你确定你明白它的含义,去掉就好。 : 不过我觉得你应该实在一点,直接用C 的那种方式。格式还统一些,不要一会加个@一会\\的,这会搞蒙的。 : ...................