Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GetEnvironmentVariable(“windir”)奇怪的行为_C#_Windows_Windows 7_Windows Xp_Environment Variables - Fatal编程技术网

C# GetEnvironmentVariable(“windir”)奇怪的行为

C# GetEnvironmentVariable(“windir”)奇怪的行为,c#,windows,windows-7,windows-xp,environment-variables,C#,Windows,Windows 7,Windows Xp,Environment Variables,电话是 if (!val.Contains(Environment.GetEnvironmentVariable("windir"))) 它似乎在Windows7(64位)系统中运行良好,并将检测我正在查看的字符串是否包含任何大小写的c:\Windows版本。但在XP下,相同的代码似乎无法检测到案例中的更改。我将所有结果打印到控制台进行调试,一些c:\WINDOWS正在通过,但当我执行 echo %windir% 在命令窗口中,我得到C:\WINDOWS。有没有一种方法可以重写我的测试,这样

电话是

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)
if(val.IndexOf(windowsPath,StringComparison.InvariantCultureIgnoreCase)<0)
Contains()
始终区分大小写。答案已位于: