我正在使用没有MVC的剃刀C#。我正在使用SQL中的数据来动态进行计算。我想要做的是将结果存储到一个数组中,以便我可以稍后对总数求和。
conn.SQL = ....
//set up connection
SqlConnection connect = new SqlConnection(...);
connect.Open();
//create the data reader
SqlCommand cmd = new SqlCommand(....., connect);
SqlDataReader dr = cmd.ExecuteReader();
cmd.Dispose();
while (dr.Read())
{
foo = 0
bar = 0;
//get local variables from database
foo = Math.Round(Convert.ToDouble(dr["foo"]), 2);
bar = Math.Round(Convert.ToDouble(dr["bar"]), 2);
foo = var - foo2 - foo3;
try
{
if ((foo / var) >= .5)
{
if (foo <= 0.00)
{
bar = 0.00;
bar = var * .5;
}
else
{
MyVar = bar * .7 - foo;//This is the calculation done on the fly.
foo = bar * .5;
// MyVar_array = [];// This is the array I want to store the results to summed later on
}
}
}
catch (Exception e)
{
}
这些是计算然后我在表格中显示它们 @ foo.ToString(&#34; C&#34)
数据正确显示且计算正确&gt;问题是我试图从这个专栏中得到一个总数。当我们尝试使用数组时,从中获取各种错误并不存在于当前上下文中。之后我将在我的代码顶部声明,然后我将收到一个错误,说我可以在此范围内使用此变量。
答案 0 :(得分:0)
不确定您要做什么,但这是您在数组中存储内容的方式。
"
我真的认为你想要考虑使用类。管理该项[0]对应于您设置的任何变量都会更难。再加上一个阵列,你需要在创建它时有多大。处理对象要容易得多。像这样的东西
decimal[] MyVar_array = new decimal[1];
MyVar_array[0] = new decimal(0.123);
//access the first item in the array like this
Debug.Print(MyVar_array[0].ToString());
像这样使用
public class MyStuff
{
public decimal MyVar
{
get;set;
}
}
使用对象管理和整理数据更加容易。
答案 1 :(得分:0)
你可以使用List,它更容易
List<decimal> x = new List<decimal>();
try
{
if ((foo / var) >= .5)
{
if (foo <= 0.00)
{
bar = 0.00;
bar = var * .5;
}
else
{
MyVar = bar * .7 - foo;//This is the calculation done on the fly.
foo = bar * .5;
// MyVar_array = [];// This is the array I want to store the results to summed later on
}
}
//x.Add(foo); im not sure which is you are storing
x.Add(bar);
}
catch (Exception e)
{
}
然后你可以像数组一样调用每个索引
decimal firstvalue = x[0];
decimal secondvalue = x[1];