新手学C#,请高手看一下这句代码是什么意思。 C# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Substring(index,length) index 表示开始截取位置;length表示截取长度;LastIndexOf(“\\”) 表示最后一个\\ 出现的位置也就是index,是int类型的。 Application.StartupPath是一个只读属性,是不可以设置的。Application.StarupPath获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。既是Application.StartupPath =你启动项目的BIN下边的目录且Application.StartupPath不是以\结束的。可以在后面加“\\”(转义字符)Application.StartupPath 值类似 C:\xxx\bin\DebugString.LastIndexOf 方法报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。String.Substring(int index,string str)是截取字符串的一个方法 从str字符串中的第index个位置开始取新字符串string P_str_creportPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));这句话的意思就是找到你的WinForm应用程序的根目录路径,也就是到c:\xxx目录下 Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\") 这句代码是表示一个长度大小吗,为什么后面会有两个LastIndexOf("\\"),这是最困惑的地方,能不能将详细一点,谢谢 var startupDir = new DirectoryInfo(Application.StartupPath);var upper2Dir = startupDir.Parent.Parent;var P_str_creportPath = upper2Dir.FullName; 你看它写了两层嵌套的 Application.StartupPath.Substring(0, ...... 语句。你需要把 ) 括号跟前边的 ( 括号匹配。这就是坑爹的写法。编程不是炫技,也不是永远纠结“性能问题”,而是首先要考虑“成文自明”。一个好的程序员,就算是这样写,也应该在变量命名上“成文自明”地将代码写成文档风格的形式。例如:var 启动目录 = Application.StartupPath;var 上一级目录结束位置 = Application.StartupPath.LastIndexOf("\\");var 上一级目录 = 启动目录.Substring(0, 上一级目录结束位置);var 上两级目录结束位置 = 上一级目录.LastIndexOf("\\");string P_str_creportPath = 启动目录.Substring(0, 上两级目录结束位置);有的程序员嘲笑别人“写中文变量名”,可是它自己起的“长长的”英文变量名根本看不懂,甚至直接就喜欢写你所贴出的那种难阅读的代码,甚至找个理由说“这样运行效率高”,这都缺乏一定的训练的。 这个程序的含义,就是在启动目录字符串种,先找到上一级目录结束位置,然后找到上一级目录字符串,然后再找到上两级目录结束位置,然后再找到上两级目录字符串,最后赋值给 P_str_creportPath 变量。你看不懂有多方面原因。其中首先一个原因,就是你看到了一个很糟糕的风格的代码。 这段代码是截取exe文件路径的一部分。1.你鼠标点方法名,然后f12,跳到定义,就可以看到方法的介绍了;2.多层嵌套着,阅读起来不方便。 高分求采购系统一个,最好自己编的,简单点没事 帮忙看看,为什么不能打印出来数组呢? 问个checkedListBox选中数据的问题,在线等 强烈要求CSDN把页面右下角的【聊天窗口】去掉!! 怎样让自己的用户控件一样可视编辑? MediaPlayer 中怎样获取当前的进度 打印高手请进 谁家的人力资源管理系统比较好啊?回复就有分 高分请教思路:自定义按钮怎样继承父窗体(控件)背景的问题(UP 者有分) 请教一个有关继承的问题。 求解:WPF中多个RibbonTab切换时的触发事件 通过开始时间和结束时间得到中间日期
LastIndexOf(“\\”) 表示最后一个\\ 出现的位置也就是index,是int类型的。
Application.StarupPath获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。既是Application.StartupPath =你启动项目的BIN下边的目录且Application.StartupPath不是以\结束的。可以在后面加“\\”(转义字符)Application.StartupPath 值类似 C:\xxx\bin\DebugString.LastIndexOf 方法
报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。String.Substring(int index,string str)是截取字符串的一个方法
从str字符串中的第index个位置开始取新字符串
string P_str_creportPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0,
Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));这句话的意思就是找到你的WinForm应用程序的根目录路径,也就是到c:\xxx目录下
Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\") 这句代码是表示一个长度大小吗,为什么后面会有两个LastIndexOf("\\"),这是最困惑的地方,能不能将详细一点,谢谢
var upper2Dir = startupDir.Parent.Parent;
var P_str_creportPath = upper2Dir.FullName;
var 上一级目录结束位置 = Application.StartupPath.LastIndexOf("\\");
var 上一级目录 = 启动目录.Substring(0, 上一级目录结束位置);
var 上两级目录结束位置 = 上一级目录.LastIndexOf("\\");
string P_str_creportPath = 启动目录.Substring(0, 上两级目录结束位置);有的程序员嘲笑别人“写中文变量名”,可是它自己起的“长长的”英文变量名根本看不懂,甚至直接就喜欢写你所贴出的那种难阅读的代码,甚至找个理由说“这样运行效率高”,这都缺乏一定的训练的。
这段代码是截取exe文件路径的一部分。
1.你鼠标点方法名,然后f12,跳到定义,就可以看到方法的介绍了;
2.多层嵌套着,阅读起来不方便。