根据变量“BaseCost..”、“PDF”、“PTF”等的类型,您可能会遇到各种错误。因此,对于初学者来说,在询问时,请始终说您遇到了什么错误,否则我们将不得不拿起水晶球并猜测。
另一件事是,“+”是什么意思?你想把数字加起来,还是想把文字粘在一起?
从典型问题中猜测,最有可能的是您想要构建一个内部包含多个“值”的字符串,并且您的变量是混合类型的。尝试逐个添加“.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
这三行具有相同的效果。
但是,即使它有效,结果也不会很漂亮,因为它会把所有东西都粘在一起。您可以在表达式中添加更多字符串和字符:
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
请注意,这里没有模棱两可的“+”。您只需说“格式”和“喜欢这个模板”和“这里是值”。