我在\ ProgramFiles(x86)\ MyAppFolder中有一个*.exe文件.
在x86应用程序中,我检查文件是否存在(64位系统).简单:
bool fileExists = File.Exists(@"\ProgramFiles(x86)\MyAppFolder\Manager.exe");
Run Code Online (Sandbox Code Playgroud)
结果是:"fileExists == false"(文件确实存在).据我所知,这是虚拟化.这里描述的问题很好.但下一个代码:
bool fileExists = new FileInfo("\\Path").Exists;
Run Code Online (Sandbox Code Playgroud)
"fileExists == true"
为什么在第一和第二种情况下结果不同?
var controller = new ServiceController(Product.ServiceName);
_manager.Enabled = controller.Status == ServiceControllerStatus.Running;
var info = new DirectoryInfo(Assembly.GetExecutingAssembly().Location);
var s = File.Exists(@"D:\TFS\GL_SOURCES\Teklynx_LPM\Dev\Server\Debug\Manager.exe");
string pathToManager = string.Empty;
if (info.Parent != null)
{
var pathToModule = info.Parent.FullName;
pathToManager = Path.Combine(pathToModule,"Manager.exe").Replace(" ",string.Empty);
}
Run Code Online (Sandbox Code Playgroud)
//效果很好
var fileInfo = new FileInfo(pathToManager);
var managerSeparator = new ToolStripSeparator()
{
Visible = _manager.Visible = fileInfo.Exists // true
};
Run Code Online (Sandbox Code Playgroud)
//不起作用 …
刚开始使用wpf.我需要绑定对象(Hierarchical)文件夹
public class Folder
{
public Folder()
{
this.Name = string.Empty;
this.Modules = new ObservableCollection<Module>();
this.Folders = new List<Folder>();
this.HasChild = false;
}
public Folder(Folder parent)
{
this.Name = string.Empty;
this.Modules = new ObservableCollection<Module>();
this.Folders = new List<Folder>();
this.HasChild = false;
this.Parent = parent;
}
public bool HasChild { get; set; }
public string Name { get; set; }
public List<Folder> Folders { get; set; }
public ObservableCollection<Module> Modules { get; set; }
public Folder Parent { get; set; } …Run Code Online (Sandbox Code Playgroud) 我需要使用正则表达式以简单表达式查找所有操作.例如:
a+b*c/d
Run Code Online (Sandbox Code Playgroud)
这里我们有3个操作.
正则表达式\d.*[\+\-\*\/].*\d只返回两个匹配.
有没有办法找到所有的比赛?