关于c#面向对象的程序设计的一个小问题

我用c#的类进行程序设计,求10个数的数组的和,程序代码如下:
namespace vcp
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{

}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { array s=new array();double y=s.sum();label1.Text=y.ToString(); }
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = "0";
}
}
class array
{private double a[];
public array()
{a=new double[10];
for(int i=0;i<10;i++)
a[i]=i*50;
}
public double sum()
{double y=0;
for(int i=0;i<10;i++)
y=y+a[i];
return y;
}
}
}
就是求0,50,100,150,等差数列前10项的和,我想用动态数组进行的程序设计,因为我的数组的个数是一个变量,但是程序老师运行不了,怎么回事,拜托了各位。
程序发生错误说明: 语法错误,错误的数组声明符。要声明托管数组,秩说明符应位于变量标识符之前。要声明固定大小缓冲区字段,应在字段类型之前使用 fixed 关键字。E:\vc\vcp\vcp\Form2.cs3919vcp

下面这句错了:

private double a[];

应改为下面这样编译才不会错

private double[] a;

数组动态,可以用ArrayList对象,需要引用

using System.Collections;

声明及在数组中插入值:

ArrayList list = new ArrayList();
list.Add(15);
list.Add(60);
list.Add(9);

取数组中第n个值

int a = (int)list[n];

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-14
定义数组的时候,写错成c语言的样子了。追问

按你的思路改过以后,程序编译后可以运行,但是标签中显示的是0,而不是求数组的和,怎么回事啊?

第2个回答  2015-12-14
private double a[];
private double[] a;//数组是这么声明的追问

按你的思路改过以后,程序编译后可以运行,但是标签中显示的是0,而不是求数组的和,怎么回事啊?

追答

那就是窗口的逻辑有问题,在class array里面我只改了我说的那个地方,我用控制台调用.sum()输出2250。

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网