我有一个值列表,例如:G1、G2、G2.5、G3、G4 等。)如何在 c# 中检查这些值的范围,比如我想查看值是否介于 G1 和 G2 之间。 5 ?
在 Vb.net 我可以这样做:
Select Case selectedValue
Case "G1" To "G2.5" //This would be true for G1, G2, and G2.5
我怎样才能在 C# 中做到这一点?
我有一个值列表,例如:G1、G2、G2.5、G3、G4 等。)如何在 c# 中检查这些值的范围,比如我想查看值是否介于 G1 和 G2 之间。 5 ?
在 Vb.net 我可以这样做:
Select Case selectedValue
Case "G1" To "G2.5" //This would be true for G1, G2, and G2.5
我怎样才能在 C# 中做到这一点?
G
从_selectedValue
decimal
-
var number = decimal.Parse(selectedValue.Replace("G", ""));
if (number >= 1.0m && number <= 2.5m)
{
// logic here
}
要进行字符串比较,您可以这样做
if (string.Compare(selectedValue, "G1") >= 0 && string.Compare(selectedValue, "G2.5") <= 0)
{
...
}
但是要进行数字比较,您必须将其解析为数字(double
或decimal
)
var selectedValueWithoutG = selectedValue.Substring(1);
var number = decimal.Parse(selectedValueWithoutG);
if (number >= 1D && number <= 2.5D)
{
...
}
首先,您需要解析您的值:
var number = decimal.Parse(selectedValue.Substring(1))
然后你可以应用这样的扩展方法:
bool Between(this int value, int left, int right)
{
return value >= left && value <= right;
}
if(number.Between(1, 2.5)) {.....}