private void Form1_Load(object sender, EventArgs e)
{
A[] pp = new A[5];
pp[2].L.Add(8);//错误:未将对象引用设置到对象的实例。
}
public struct A
{
public List<int> L;
}
解决方案 »
- winform串口如何接收float数据
- 如何用C#WebBrowser.ObjectForScripting 属性执行这个JS脚本??
- C#window编程示例.
- 百分急求 enterprise library 2.0中Updatedataset的使用详细解释-在线等
- 关于axWebBrowser的问题
- C# 编写OCX控件 高手请进........
- 30分请教:一个关于sql语句关于格式处理的问题
- ------------奇怪的问题--------(大家帮忙看看)
- c#用API两次调用SendMessage,但参数类型不同,如何声明
- 有人能帮我吗
- 你们轻松得分的机会来了
- C#调用oracle存储过程
你这句仅仅是定义一个A类的数组,该数组并未初始化,只有是值类型的数组才会自动初始化
引用类型的初始值都是null
你得先分别
pp[0]=new A();
pp[1]=new A();
....
或者
A[] pp = new A[]{new A(),new A(),new A(),new A(),new A()};
{
public List <int> L;
}
好象L也没有初始化,换成
public struct A
{
public List <int> L=new List<int>();
}
public struct A
{
private List<int> _L; public List<int> L
{
get
{
if ( _L == null )
{
_L = new List<int>();
} return _L;
}
set
{
_L = value;
}
}
}
{
public List <int> L=new List<int>();
}
就是 Public List <int> L=new List<int>(){get;set;};
pp[2].L = new List<int>();
然后在PP[2].L.add(8);就OK了
总之一定要初始化List<int>就好了 !!!!!!!!!!!!
{
public List <int> L;
public A()
{
L=new List<int>();
}
}