如何在数据行C#中添加更多然后一个值?

时间:2013-06-06 07:38:59

标签: c# asp.net .net datarow

我试图在datarow中显示多个值,我尝试了不同的方法但是我的代码出错了,

 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

3 个答案:

答案 0 :(得分:1)

根据变量类型'BaseCost ..','PDF','PTF'等,您可能会遇到各种错误。所以,对于初学者来说,当他们提出要求时,总是说出错误,否则我们不得不采取结晶球并猜测。

另一件事是,“+”是什么意思?你想把这些数字加起来,还是想把文字粘在一起?

从典型问题中猜测,最可能的是你想在内部构建一个包含多个'values'的字符串,而你的变量是混合类型的。尝试相互添加“.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

请注意,这里没有含糊不清的“+”。你只需说“格式”和“喜欢这个模板”和“这里是值”。

答案 1 :(得分:0)

你试过DataColumn吗? DataColumn Class

答案 2 :(得分:0)

crow["BaseCostHighWay * POF * PTF * WCF"] = 
    String.Format("{0},{1},{2},{3}", BaseCostScoreHW, POF, PTF, WCF);