Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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# 检查字符串是否在两个字母之间_C#_String - Fatal编程技术网

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

C# 检查字符串是否在两个字母之间,c#,string,C#,String,我正在将VIN编号解码为有用的信息,并为国家提供一系列双字母(例如:SA-SM是大不列颠)。如何检查SG是否在SA和SM之间?我想用十六进制,但它不能转换成十六进制,因为它超过了E。如果你坚持使用数字,十六进制不是唯一的基数:那么base-26呢 var str = "SK"; var base26 = 26*(str[0]-'A')+(str[1]-'A'); 只要两个字符串长度相同,按字典顺序比较字符串没有什么错。如果你坚持使用数字,十六进制并不是唯一的基数:那么base-26呢 var

我正在将VIN编号解码为有用的信息,并为国家提供一系列双字母(例如:SA-SM是大不列颠)。如何检查SG是否在SA和SM之间?我想用十六进制,但它不能转换成十六进制,因为它超过了E。

如果你坚持使用数字,十六进制不是唯一的基数:那么base-26呢

var str = "SK";
var base26 = 26*(str[0]-'A')+(str[1]-'A');

只要两个字符串长度相同,按字典顺序比较字符串没有什么错。

如果你坚持使用数字,十六进制并不是唯一的基数:那么base-26呢

var str = "SK";
var base26 = 26*(str[0]-'A')+(str[1]-'A');
if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{  // SG between SA and SM
}
只要两个字符串长度相同,按字典顺序比较字符串没有什么错。

if(String.Compare(“SG”、“SA”)>0&&String.Compare(“SG”、“SM”)<0)
if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{  // SG between SA and SM
}
{//SG在SA和SM之间 }
忽略案例

if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{  // SG between SA and SM
}
if(String.Compare(“SG”,“SA”,true)>0&&String.Compare(“SG”,“SM”,true)<0)
{//SG在SA和SM之间
}
您还可以使用CurrentCulture、CurrentCultureIgnoreCase、InvariantCulture、InvariantCultureIgnoreCase、Ordinal、OrdinalIgnoreCase()中的一种

if(String.Compare(“SG”、“SA”、CurrentCultureInoRecase)>0&&String.Compare(“SG”、“SM”、CurrentCultureInoRecase)<0)
{//SG在SA和SM之间
}
if(String.Compare(“SG”、“SA”)>0和&String.Compare(“SG”、“SM”)<0)
{//SG在SA和SM之间
}
忽略案例

if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{  // SG between SA and SM
}
if(String.Compare(“SG”,“SA”,true)>0&&String.Compare(“SG”,“SM”,true)<0)
{//SG在SA和SM之间
}
您还可以使用CurrentCulture、CurrentCultureIgnoreCase、InvariantCulture、InvariantCultureIgnoreCase、Ordinal、OrdinalIgnoreCase()中的一种

if(String.Compare(“SG”、“SA”、CurrentCultureInoRecase)>0&&String.Compare(“SG”、“SM”、CurrentCultureInoRecase)<0)
{//SG在SA和SM之间
}
试着这样做:

string test= "SASGSM";
if(test.IndexOf("SG") > -1) {

 //your action

} 
试着这样做:

string test= "SASGSM";
if(test.IndexOf("SG") > -1) {

 //your action

} 

value[0]=='S'&&value[1]>='A'&&value[1]
value[0]='S'&&value[1]>='A'&&value[1]这不是他所说的“介于之间”的意思是的,他说的是“介于之间”,而不是字符串中的字面上的字符。这不是他所说的“介于之间”的意思是的,他说的是“介于之间”不是字符串中的字面字符。如果有小写的
a
,这很有趣:D@Hogan如果我刚刚将字符串初始化为
“SK”
?:),那么小写的
'a'
从何而来撇开玩笑不谈,我认为你提出了一个很好的观点:字符串需要转换为大写,在转换为base-26之前,检查只包含字母。是的,这正是我的观点——滚动你自己的是有趣的,但是
String。比较
会给已经编写的代码提供更多的功能。如果有小写
a
,这很有趣:D@Hogan小写的
'a'
从何而来,如果我刚刚将字符串初始化为
“SK”
?:):)撇开玩笑不谈,我认为你提出了一个很好的观点:字符串需要转换为大写,在转换为base-26之前,检查只包含字母。是的,这正是我的观点——滚动你自己的是有趣的,但是
String。Compare
在已经编写的代码中提供了更多的功能。String还有一个
CompareOrdinal
方法。如果字符串同时包含字母和数字(vin可能包含这两个数字),则此操作非常有效。祝你好运。String还有一个
CompareOrdinal
方法。如果字符串同时包含字母和数字(vin可能包含这两个数字),则此操作非常有效。祝你好运