変数「BaseCost..」、「PDF」、「PTF」などのタイプによっては、さまざまなエラーが発生する場合があります。したがって、まず、質問するときは、常にどのようなエラーが発生しているかを伝えてください。
もう 1 つは、「+」とはどういう意味ですか? 数字を合計しますか、それともテキストをくっつけますか?
典型的な問題から推測すると、最も可能性が高いのは、内部に複数の「値」を含む文字列を作成する必要があり、変数の型が混在していることです。「.ToString()」を次々に追加してみて、エラーが再度発生するかどうかを確認してください。
string text = BaseCostScoreHW.ToString() + POF.ToString() + PTF.ToString() + WCF.ToString();
crow["BaseCostHighWay"] = text;
// text = 1.12.23.34.4
それは少し冗長です。本当に「+」演算子を使用したい場合は、最初の値が文字列であることを確認してください。
string text1 = BaseCostScoreHW.ToString() + POF + PTF + WCF;
string text2 = string.Empty + BaseCostScoreHW + POF + PTF + WCF;
string text3 = "" + BaseCostScoreHW + POF + PTF + WCF;
// text1/2/3 = 1.12.23.34.4
これら 3 行の効果は同じです。
しかし、それが機能したとしても、すべてをしっかりと接着するため、結果はきれいではありません. 式にさらに文字列や文字を追加できます。
string text = "" + BaseCostScoreHW + "," + POF + "," + ...
しかし..それはほとんど維持できません。少しのテキストをフォーマットするより良い方法は、 .. を使用することですstring.format
:
string text = string.Format("{0},{1},{2},{3}", BaseCostScoreHW, POF, PTF, WCF);
crow["BaseCostHighWay"] = text;
// text = 1.1,2.2,3.3,4.4
ここにはあいまいな「+」がないことに注意してください。「フォーマット」、「このテンプレートが好き」、「ここに値があります」と言うだけです。