-1

我试图在数据行中显示一个以上的值我用不同的方式尝试过,但是我的代码出错了,

 crow["BaseCostHighWay * POF * PTF * WCF"] = BaseCostScoreHW + POF + PTF + WCF;

我试图在我的数据行中显示“BaseCostScoreHW”“POF”“PTF”“WCF”,如果我尝试在它们之间使用“+”'会导致这个地方出错

希望您的建议提前谢谢

编辑,

应该看起来像

BaseCostHighWay * POF * PTF * WCF

2.5,1.6,8.1,0.9
4

3 回答 3

1

根据变量“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

请注意,这里没有模棱两可的“+”。您只需说“格式”和“喜欢这个模板”和“这里是值”。

于 2013-06-06T07:47:18.150 回答
0

你试过数据列吗? 数据列类

于 2013-06-06T07:45:53.123 回答
0
crow["BaseCostHighWay * POF * PTF * WCF"] = 
    String.Format("{0},{1},{2},{3}", BaseCostScoreHW, POF, PTF, WCF);
于 2013-06-06T07:53:32.950 回答