c# - 我如何制作一个全局数组
问题描述
我正在尝试使用文件中的数据创建一个全局数组,并将该数组用于不同函数中的计算,例如按钮单击处理程序。当我使用我的计算按钮时,它显示“值不能为空”。
public partial class Form1 : Form
{
double size = 0;
double[] temperture;
public Form1()
{
InitializeComponent();
OpenFileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(fileDialog.OpenFile());
string line = sr.ReadLine();
double size = Convert.ToDouble(line);
//create array
double[] temperture = new double[(int)size];
for (int i = 0; i < size; i++)
{
line = sr.ReadLine();
//convert line to double and store in the array
temperture[i] = Convert.ToDouble(line);
}
}
}
private void calculateAverageTempertureToolStripMenuItem1_Click(object sender, System.EventArgs e)
{
double sum = temperture.Sum();
double average = ((double)sum) / temperture.Length;
textBox1.Text = "Average Temperature = " + average;
}
}
解决方案
不要为 重新声明局部变量temperture
:
double[] temperture = new double[(int)size];
重新使用已声明为类实例的实例变量:
temperture = new double[(int)size];
推荐阅读
- python - 替换列表中的元素 - 使用包含所述元素的嵌套列表(python3)
- javascript - 如何将小数四舍五入到最接近的 0.5(0.5、1.5、2.5、3.5)
- protocol-buffers - protobuf 是 grpc 中唯一使用的技术吗?
- python-3.x - 框架关闭 Tkinter 的问题
- r - 在终端中运行 R .ipynb 脚本
- javascript - 将事件侦听器添加到 javascript 文件
- r - 如何计算R中日期的频率?
- sql-server - SQL Server:根据一行的优先级从两行返回行
- ios - 如何根据模型的数组属性中索引的模型的值进行排序
- javascript - 分页数据导致异常行为?