【发布时间】:2021-05-23 08:47:46
【问题描述】:
我有一个计算表:
| RowsName | Parameter1 | Parameter2 |
|---|---|---|
| Name1 | 20 | 5 |
| Name2 | 4 | 6 |
| … | ||
| Sum | 100 | 100 |
是否需要为表创建一个类?在我看来,在这种情况下它只是使程序复杂化,并且没有必要。
但我已经尝试创建一个类:
public class Table
{
public string RowsName { get; set; }
public double Parameter1 { get; set; }
public double Parameter2 { get; set; }
public static int RowNumber=15;
}
然后我尝试使用它:
static void Main(string[] args)
{
Table[] row = new Table[Table.RowNumber];
for (int i = 0; i < Table.RowNumber; i++)
{
row[i] = new Table();
row[i].Parameter1 = IOData.valueParameter1 [i];
row[i].Parameter2 = IOData.valueParameter2[i];
}
row[Table.RowNumber-1].Parameter1 = IOData.valueParameter1 .Sum();
row[Table.RowNumber-1].Parameter1 = IOData.valueParameter2 .Sum();
}
而且我有一个参数输出的方法:
public static void DataOutput(string[] rowsName, params double[][] column)
{
for (int i = 0; i <column[0].Length; i++)
{
Console.Write("{0,12:0.00}|",rowsName[i]);
for (int j = 0; j < column.Length; j++)
Console.Write("{0,12:0.00}|", column[j][i]);
Console.WriteLine("");
}
}
但是我不能用我的对象的属性数组调用这个方法。我该怎么做?
DataOutput(row[].Parameter1, row[].Parameter2);//this is does not work
我需要创建两个额外的数组:
double[] outputParameter1 = new double[Table.RowNumber];
double[] outputParameter2= new double[Table.RowNumber];
for (int i = 0; i < Table.RowNumber; i++)
{
outputParameter1[i] = row[i].Parameter1;
outputParameter2[i] = row[i].Parameter2;
}
IOData.DataOutput( outputParameter1 , outputParameter2);
我认为如果我不创建一个类,只创建两个数组并使用它们,它会简单得多。但是我想编写代码,就好像它是由经验丰富的开发人员编写的一样。所以我的问题是:
【问题讨论】:
-
“所以我的问题是:...” - 你让我们陷入悬念;)
-
类不是必需的,它只是简化了事情。它创建 OOP 功能。