2

switch ステートメントを使用して SP から取り込まれた値をチェックする一時的なローカル変数を作成しようとしています。これらのメンバーを int 型として宣言し、SP の値の値は 0、1、または空白のいずれかになります。intの場合、空白と比較するステートメントを文字列として扱っています。どうすればこれを修正できますか?

private int checkInventoryValue(int returnedval)
{
   int testedValue = (int)returnedval;
   switch (testedValue)
   { 
       case 1:
           testedValue = 0;
           break;
       case 2:
           testedValue = 1;
           break;
       default:
           testedValue = ""; // error CS0029: Cannot implicitly convert type 'string' to 'int' 
           break;
    }
}

前もって感謝します。

4

2 に答える 2

3
private int? checkInventoryValue(int returnedval)
{
    int? testedValue = (int?)returnedval;
    switch (returnedval)
    { 
        case 1:
            testedValue = 0;
            break;
        case 2:
            testedValue = 1;
            break;
        default:
            testedValue = null; 
            break;
    }
    return testedValue;
}

後で(チェーンを上って)本当にしたい場合は、それを空の文字列に変換できます

于 2012-09-24T14:37:36.573 に答える
1

整数を空白にすることはできませんが、null 許容整数を使用できます。

int? testedValue = (int?)returnedval;
switch (testedValue.Value)
{ 
    case 1:
        testedValue = 0;
        break;
    case 2:
        testedValue = 1;
        break;
    default:
        testedValue = null; // error CS0029: Cannot implicitly convert type 'string' to 'int' 
        break;
}
于 2012-09-24T14:38:51.457 に答える