- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有:
string Combine = Path.Combine("shree\\", "file1.txt");
string Combine1 = Path.Combine("shree", "file1.txt");
两者给出相同的结果:
shree\file1.txt
Path.Combine
背后究竟发生了什么?这是执行此操作的最佳编码实践。请澄清我的看法。谢谢。
最佳答案
如果第一个路径(shree 或 shree\\)没有以有效的分隔符结尾(例如 DirectorySeparatorChar),它会在连接之前附加到路径。
所以
string path1 = "shree";
string path2 = "file1.txt";
string combined = Path.Combine(path1, path2);
将生成“shree\file1.txt”,而
string path1 = "shree\\";
已经包含一个有效的分隔符,所以 Combine 方法不会再添加一个。
在这里,您在字符串变量 (path1) 中键入了两个斜杠。第一个只是作为第二个的转义字符。这与使用逐字字符串文字相同。
string path1 = @"shree\";
可以在 MSDN 上找到有关 Combine 方法的更多信息:
关于c# - Path.Combine 背后究竟发生了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983285/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!