先说一下背景
我的系统是win10
开发工具是VS 2015
使用C#做一个文件检测判断。File.Exists一直提示文件不存在,但实际上是存在的。网上搜了一圈,全是权限问题。无意中看到一个帖子提到了复制方式。最终可以解决,但不明其原因,望论坛大神能给个权威的解答。问题描述。
第一种复制方式,在文件属性中复制路径。第二种复制方式,在资源管理器的主页中复制。
写一个简单的方法执行一下,肉眼看路径是完全一样的。但是会出现两个截然不同的结果。用文件属性中复制的地址无法找到文件,用资源管理器-主页复制的路径可以找到文件。
求教大神,这个根因是什么问题呢。跟windows系统和VS有什么联系。
我的系统是win10
开发工具是VS 2015
使用C#做一个文件检测判断。File.Exists一直提示文件不存在,但实际上是存在的。网上搜了一圈,全是权限问题。无意中看到一个帖子提到了复制方式。最终可以解决,但不明其原因,望论坛大神能给个权威的解答。问题描述。
第一种复制方式,在文件属性中复制路径。第二种复制方式,在资源管理器的主页中复制。
写一个简单的方法执行一下,肉眼看路径是完全一样的。但是会出现两个截然不同的结果。用文件属性中复制的地址无法找到文件,用资源管理器-主页复制的路径可以找到文件。
求教大神,这个根因是什么问题呢。跟windows系统和VS有什么联系。
判断一下:string falsePath = xxx;
string truePath = xxx;
// 看看长度是否一致
Console.Write(falsePath.Length == truePath.Length);for(var i=0;i<falsePath.Length && i<truePath.Length;i++){
if(falsePath[i] != truePath[i]){
// 看看有没有不一样的字符
Console.Write( truePath[i]);
}
}
你的判断是正确的。字符长度是不一样的,第一个会多出一个字符,无法打印出来。但这里更想知道为什么会有这个现象呢,是windows系统的bug吗?
你把多出的这个字符的Ascii码打印出来,看看对应是哪个字符,一般就能知道原因。
这里很想知道为什么会造成复制后字符长度不一致的问题,这个算系统bug吗?