C# 当前目录你了解多少
C#中获取程序运行的当前目录的方法有多种,本文为大家提供三种方式,并作简单分析,有需要的朋友,可以参考下。
在C#中,有很多方式可以获取程序运行的当前目录,常见的方式有:
、string strPath1 = System.Environment.CurrentDirectory() ; 、string strPath2 = System.IO.Directory.GetCurrentDirectory() ; 、string strPath3 = System.AppDomain.CurrentDomain.BaseDirectory; //返回当前程序运行目录,包括最后一个"\"符号
看起来这三条语句都可以用于获取程序所在的目录的绝对路径,如果程序一开始执行就调用这三条语句,都会返回程序所在目录的绝对路径。
但是,在程序中调用了系统的文件选择框之后,这三条语句的执行结果会完全不同,具体结果如下: 语句1和语句2会返回之前所选择的文件所在目录的绝对路径; 语句3仍然返回程序所在目录的绝对路径。
总结: 如果要获取程序的所在目录的绝对路径,使用语句3更为安全。
C# 当前目录你了解多少的更多相关文章
- C++获取当前目录
/* @author:CodingMengmeng @theme:C++获取当前目录 @time:2017-1-6 21:03:34 @blog:http://www.cnblogs.com/codi ...
- php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
<?php /** * @desc 解析当前目录并递归删除目录下的指定文件 * @author mengdj<mengdj@outlook.com> 2014.10.02 1530 ...
- 命令行用sublime打开当前目录
执行 ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" subl 就可以在命令行用 ...
- 如何快速在当前目录打开cmd命令提示符
对于稍微熟悉电脑一些的朋友来说.cmd绝对是个很方便的东西.但是每次使用cmd都要cd半天才能到当前目录.怎么快速打开当前目录呢? 当前目录按住shift再右键.然后会看到右键菜单里有一个" ...
- Python3 之 import 和 当前目录
环境: Python-3.4.3 Web.py-0.37 安装 web.py 的时候,提示 ImportError: No module named 'utils' 看看源码,setup.py,有这么 ...
- python 获取当前目录下文件(转)
今天继续整理原来写的 python 代码,下面是获取文件信息的 python 处理代码. 获取指定目录下文件的文件名以及文件的数量,然后列出其中还存在的目录名称: #!/usr/bin/env pyt ...
- JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址
在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext().getRealP ...
- Perl重命名当前目录下的文件
下载的zip包解压后,中文都变成了乱码,就写了个脚本重命名文件. use strict; use warnings; use Cwd; sub main { my $dir = getcwd(); o ...
- DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案
DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案在有些时候,需要在批处理中操作UNC目录,但批处理并不能直接对UNC目录进行操作,怎么办? 废话少说,直接上代码,打开网上邻居→整个网络→Mi ...
- linux C 获取当前目录的实现(转-Blossom)
linux C 获取当前目录的实现: //获取当前目录#include <stdlib.h>#include <stdio.h>#include <string.h> ...
随机推荐
- 玩转shell命令行
移动光标快捷键 ctrl+f 向前移动一个字符 ctrl+b 向后移动一个字符 ctrl+a 移动到当前行首home ctrl+e 移动到当前行尾end alt+f 向前移动一个单词 alt+b 向后 ...
- 综合出现NSScanner: nil string argument libc++abi.dylib: terminat错误的解决方案
在开发中出现了这个错误,断点查找很久,没找到问题所在的代码,google下,发现了下面这几点会产生这个错误: 首先,顾名思义,错误原因是我们在调用某个方法的时候,传入了一个空字符串(注意区别于字符串内 ...
- 6个监控linux资源的快速工具
系统管理员需要对服务器进行监控以确保其正常运行,通过这种方式管理员能够提前发现可能存在的问题并恢复系统,以避免麻烦的出现. Linux上有很多命令来监控不同的系统资源,如CPU使用率.内存使用情况.网 ...
- php数组转xml
0x00 需求 最近要做百度.360.神马搜索的网站sitemap,三家的格式都是xml,然而具体的细节还有有差别的. 一开始用的是dom,没有使用sax,写了几段便觉得太傻了,想到有没有数组转xml ...
- 【C#】使用user32.dll的MessageBox弹窗消息
要使用user32.dll的MessageBox弹窗消息,自然需要引入user32.dll到项目中. 一个最简单的实例如下: using System; using System.Runtime.In ...
- 【C#】使用MySql.Data.dll连接MySQL数据库
准备工作 在Visual Studio中新建一个C#的控制台应用程序. 确保后台已经启用了MySQL57服务. 在MySQL的安装路径下找到DLL,默认位置是 C:\Program Files (x8 ...
- TCP粘包, UDP丢包, nagle算法
一.TCP粘包 1. 什么时候考虑粘包 如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议,UDP不会出 ...
- CPP_template
泛型编程是独立于任何特定类型的方式编写代码.模板是泛型编程的基础,模板使程序员能够快速建立具有类型安全的类库集合和函数集合,它的实现,方便了大规模的软件开发. 模板提供通用类型和通用函数,定义中包含t ...
- 【C】——可变参数
写代码之前要先介绍一下可变参数的备用知识: C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg( va ...
- Struts2、Spring、Hibernate 高效开发的最佳实践(转载)
Struts2.Spring.Hibernate 高效开发的最佳实践 Struts2.Spring.Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 ...