6

たとえば、値のリストがあります:G1、G2、G2.5、G3、G4など。)値がG1とG2の間にあるかどうかを確認したい場合は、c#でこれらの値の範囲を確認するにはどうすればよいですか。 5?

Vb.netで私ができること:

        Select Case selectedValue
           Case "G1" To "G2.5" //This would be true for G1, G2, and G2.5

どうすればC#でこれを行うことができますか?

4

3 に答える 3

4
  1. から削除GしますselectedValue
  2. 残りを解析してdecimal
  3. 10進値に対してロジックを実装する

-

var number = decimal.Parse(selectedValue.Replace("G", ""));
if (number >= 1.0m && number <= 2.5m)
{
    // logic here
}
于 2013-03-22T16:48:54.973 に答える
2

文字列の比較を行うには、これを行うことができます

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)
{
    ...
}
于 2013-03-22T16:46:02.537 に答える
2

まず、値を解析する必要があります。

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)) {.....}
于 2013-03-22T16:54:03.177 に答える