-1

このコードを実行して文字列を置き換えようとしていますが、実行すると次のエラーが表示されます

Error 1 A local variable named 'typeval' cannot be declared in this scope because it would give a different meaning to 'typeval', which is already used in a 'parent or current' scope to denote something else

これがコードです

public static string Replace(string typeval)
{
    string newType = "";
    string typeval = "";

    if (typeval.Equals("User Service Request"))
    {
        newType = typeval.Replace("User Service Request", "incident");
    }
    else if (typeval.Equals("User Service Restoration"))
    {
        newType = typeval.Replace("User Service Restoration", "u_request");
    }

    return newType;
}
4

4 に答える 4

3

はすでに定義されていtypeval onceます。再度宣言することはできません。

削除するstring typeval == ""

また、 に設定し、 に設定typval.ReplacetypvalないでnewTypeください。そうしないと、常に空の文字列が返されます。

if最後に、ステートメントは必要ありません。関数を次のように簡単に単純化できます。

public static string Replace(string typeval)
{
    typeval = typeval.Replace("User Service Request", "incident");
    typeval = typeval.Replace("User Service Restoration", "u_request");

    return typeval;
}
于 2013-04-09T15:33:01.910 に答える
1

2 つの typeval があります。パラメータ内に 1 つ、関数内に 1 つ。それらのいずれかの名前を変更します

于 2013-04-09T15:33:17.863 に答える
0

メソッド パラメータと同じ名前のローカル変数を宣言しています。

于 2013-04-09T15:33:21.117 に答える
0

「typeval」という名前の変数が 2 つあるため、コンパイル エラーが発生します。

于 2013-04-09T15:33:38.387 に答える