当前位置:编程学习 > C#/ASP.NET >>

关于文件路径的问题..求高手指点下


 this.label14.Text = this.textBox1.Text.ToString() + '\\' + this.label3.Text.ToString();
File.Delete(this.label14.Text);


程序运行的时候 label14是 E:\主题\LOG_HRU-c_Sem39.2012
我在File.Delete 设了个断点 File.Delete的值怎么变成E:\\主题\\LOG_HRU-c_Sem39.2012 ?怎么多了个\?  

如果是这代码的问题'\\',可是换成'\'就报错了哦 this.label14.Text = this.textBox1.Text.ToString() + '\\' + this.label3.Text.ToString();

求解释下这是什么问题? --------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:

            没关系,那是转义字符,不影响
“c:\\1.txt" = @"c:\1.txt"


File.Delete(this.label14.Text);
就变成File.Delete(E:\\主题\\LOG_HRU-c_Sem39.2012 )
可是这个路径是错误的啊 也删除不了啊 --------------------编程问答-------------------- 楼上说得很对! --------------------编程问答-------------------- @这个字符怎么用在this.label14.Text = this.textBox1.Text.ToString() + '\\' + this.label3.Text.ToString();? --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
没关系,那是转义字符,不影响
“c:\\1.txt" = @"c:\1.txt"

弱弱问一句 加上@是什么意思啊? --------------------编程问答-------------------- 把 '\\'这个改成"\\"试试 --------------------编程问答--------------------
引用 5 楼 SkyDragonKing 的回复:
引用 1 楼 bdmh 的回复:没关系,那是转义字符,不影响
“c:\\1.txt" = @"c:\1.txt"
弱弱问一句 加上@是什么意思啊?


加上@ 就把c:\\1.txt  转换成了c:\\1.txt.. 
可是不知道怎么加在我那代码上,试了几次没弄好,..版主就提示你下该怎么做.郁闷啊 --------------------编程问答-------------------- 转换成 c:\1.txt   就是没有2个\符号了 --------------------编程问答--------------------
Path.Combine( this.textBox1.Text.ToString() , this.label3.Text.ToString())
--------------------编程问答--------------------
引用 9 楼 angel6709 的回复:
C# code?1Path.Combine( this.textBox1.Text.ToString() , this.label3.Text.ToString())

>? Path.Combine(this.label14.Text)
"E:\\主题\\LOG_HRU-c_Sem39.2012"

断点看了 还是这个路径 E:\\主题\\LOG_HRU-c_Sem39.2012" --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:

            没关系,那是转义字符,不影响
“c:\\1.txt" = @"c:\1.txt"


版主能出来教下么 --------------------编程问答-------------------- 楼主有没有试试把你那个单引号改成双引号 --------------------编程问答-------------------- 其中一个是转义字符,debug,鼠标放在this.label14.Text 的Text 电击放大镜察看 --------------------编程问答--------------------
引用 13 楼 angel6709 的回复:
其中一个是转义字符,debug,鼠标放在this.label14.Text 的Text 电击放大镜察看


 this.label14.Text = Path.Combine(this.textBox1.Text.ToString(), this.label3.Text.ToString()); 看的时候路径是对的,但是到了执行 File.Delete 又变成E:\\主题\\LOG_HRU-c_Sem39.2012" 这个路径了

我也这样试了下也没用:
 File.Delete(Path.Combine(this.label14.Text)); --------------------编程问答-------------------- 错误是其他原因:
文件找不到?
只读?
和 path无关了 --------------------编程问答--------------------
引用 12 楼 wm0508 的回复:
楼主有没有试试把你那个单引号改成双引号


改了,没用哦 --------------------编程问答--------------------
引用 15 楼 angel6709 的回复:
错误是其他原因:
文件找不到?
只读?
和 path无关了



不会报错,代码还是执行了,只不过没那个路径而已 --------------------编程问答--------------------
引用 15 楼 angel6709 的回复:
错误是其他原因:
文件找不到?
只读?
和 path无关了


File.Delete(E:\\主题\\LOG_HRU-c_Sem39.2012) 执行的是这段话, 可是这个路径根本就不对的.

我手动写成: E:\主题\LOG_HRU-c_Sem39.2012  文件就被删除了. 还是路径的问题 --------------------编程问答-------------------- 复习转义字符 --------------------编程问答--------------------    这段代码     File.Delete("E:\\新建.txt");
完全可以删除 E盘根目录下的新建.txt文件
楼主可以自己建一个文件试试 
而不是File.Delete("E:\新建.txt");
--------------------编程问答--------------------
\ 是转义字符前缀 如果是 \\ 就证明最后是一个 "\"字符 ,如果你要非的写成 C"\AA\BB\SS.TXT
 的形式 那就 加@
如: string path = @"C"\AA\BB\SS.TXT
";
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,