2012-01-06 5 views
1

テキストに数字を表示する機能があります。数字をテキストに表示する

if (all > 120) 
{ 
    int w_m = 120 - il_os; 
    string text = "free room: {0}", w_m; 
    ModelState.AddModelError("", text); 
} 

が、私はエラーがあります:ModelState.AddModelError内のテキストと

Error 1 A local variable named 'w_m' is already defined in this scope

どのようにディスプレイ番号を?

答えて

3

string text = string.Format("free room: {0}", w_m); 

プレースホルダ文字列ではなく、言語機能!今すぐ変数w_mstringとして再度宣言しています。

int a, b, c; 
0

あなたのエラーは、テキストに数値を表示することとは関係ありません。すでにそのスコープ内にある変数(w_m)を宣言しています。

w_mは、ifより前に宣言する必要があります。あなたはw_m変数を再利用するために探している場合は、上のリンクを変更します。

string text = "free room: " + w_m.ToString(); 

または

:あなたの文字列にその数を置くためとして

w_m = 120 - il_os; 

、あなたは物事のカップルを行うことができます

string text = string.Format("free room: {0}", w_m); 
3

あなたはそのようにフォーマット文字列に順にString.Formatを使用する必要が

string text = String.Format("free room: {0}", w_m); 

現在の構文でw_mがローカルであるstringに再宣言されているため、表示されているエラーも削除されます。あなたのコードで

+1

彼は変数w_mをint(int w_m = 120 - il_ox;)として一度宣言し、再び文字列として宣言しています。彼は変数 'text'を文字列として宣言し、その値を "free room:{0}"に初期化します。同じ行にw_mを別の文字列変数として宣言します。 –

+0

@JeffReddyありがとう、答えを更新しました – JaredPar

0
string text = string.Format("free room: {0}", w_m); 

コンパイラは、のようにそのw_mが、別の宣言であると考えて:あなたはそこに機能が欠落している

string a, b; 
0

使用String.Formatこのように使用されます:

string text = String.Format("free room: {0}", w_m); 

編集:これまで叩解、私はそれらの貴重秒かかるとMSDNのリンクを見つけることが知られている必要があることを機能です。

関連する問題