Environment.GetEnvironmentVariable(“windir”)的奇怪行为
本文关键字:GetEnvironmentVariable windir Environment | 更新日期: 2023-09-27 18:24:01
该行为
if (!val.Contains(Environment.GetEnvironmentVariable("windir")))
它似乎在Windows7(64位)系统中运行得很好,可以检测我正在查看的字符串是否包含任何大写的c:''Windows版本。但在XP下,相同的代码似乎无法检测到这些变化。我将所有结果打印到控制台进行调试,一些c:''WINDOWS正在通过,但当我执行时
echo %windir%
在命令窗口中,我得到C:''WINDOWS。有没有办法重写我的测试,这样它就不会破坏与Win7的兼容性,但会发现与XP的这些差异?
感谢
我建议使用它来获取windows文件夹:
var windowsPath = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
对于不区分大小写的比较,您可以这样做:
if (val.IndexOf(windowsPath, StringComparison.InvariantCultureIgnoreCase) < 0)