检查字符串是否在两个字母之间

Gab*_*ves 1 c# string

我正在努力将VIN数字解码成有用的信息,而对于国家,他们给出了一系列双字母(EG:SA-SM是英国).如何检查SG是否介于SA和SM之间?我正在考虑十六进制,但由于它超过了E,因此无法转换为十六进制.

Hog*_*gan 6

if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{  // SG between SA and SM
}
Run Code Online (Sandbox Code Playgroud)

忽略大小写

if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{  // SG between SA and SM
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用CurrentCulture,CurrentCultureIgnoreCase,InvariantCulture,InvariantCultureIgnoreCase,Ordinal,OrdinalIgnoreCase(msdn docs)之一

if (String.Compare("SG","SA",CurrentCultureIgnoreCase) > 0 && String.Compare("SG","SM",CurrentCultureIgnoreCase) < 0)
{  // SG between SA and SM
}
Run Code Online (Sandbox Code Playgroud)