static 实例化的问题

billythekid 2010-03-26 11:40:55
public class A
{
public static double[] W = { 192.68, 286.18, 419.71, 595.21, 804.73, 1073.42, 1425.53, 1817.36, 2256.73, 2693.5 };
public static double[] lg_W;


public A()
{
for(int i=0;i<W.Length;i++)
lg_W[i]=Math.Log10(W[i]);

}
这是个model类,有问题吗?
在窗体里有 A a=new A();
为什么调试时一实例化 就自动到 窗体的 dispose。
也不报错。真无奈
哪位前辈给我指点指点 , 谢谢
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
billythekid 2010-03-26
  • 打赏
  • 举报
回复
感谢各位大侠的帮助,我现在又出现个问题:
我不想把
for(int i = 0; i < W.Length; i++)
lg_W[i] = Math.Log10(W[i]);
写在构造函数里。因为lg_W也是static。而我每次在窗体中实例化A a=new A();
lg_W的值居然还没有变,还都是0.
sdnjiejie65 2010-03-26
  • 打赏
  • 举报
回复
你用static的变量,必需放在静态方法里,...把static去掉就可以了...

或者是在构造函数前加一个static...然后去掉 A a=new A();直接调用就行了...
firdx_maomao 2010-03-26
  • 打赏
  • 举报
回复
public static double[] lg_W=new double[];
wheeler 2010-03-26
  • 打赏
  • 举报
回复

public A()
{
lg_W = new double[W.Length];

for(int i = 0; i < W.Length; i++)
lg_W[i] = Math.Log10(W[i]);
}
wheeler 2010-03-26
  • 打赏
  • 举报
回复
lg_W 没有实例化
benyouyong 2010-03-26
  • 打赏
  • 举报
回复
public static double[] lg_W = new double[W.Length];

lg_W[i]=Math.Log10(W[i]); //这里有问题 lg_W[i] 是不存在的.
十八道胡同 2010-03-26
  • 打赏
  • 举报
回复
public static double[] lg_W;


lg_W没有分配空间 你就赋值le 。。。
flyerwing 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 asdf311 的回复:]
lg_W 没有实例化
[/Quote]
静态的是共享地
wangyu890411 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 weijunhua123 的回复:]
方法名怎么能和类名相同呢?....
[/Quote]
方法名和类名相同是构造函数
weijunhua123 2010-03-26
  • 打赏
  • 举报
回复
方法名怎么能和类名相同呢?....
nali29 2010-03-26
  • 打赏
  • 举报
回复
你又不写在构造函数里,又不给lg_W赋初始值,当然是零啦

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧