问一个C#编程的简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:14:50
public class Task_Index
{
public int Task_Category;
public int Specific_Task;
}
public class Feedback_Collection
{
public FEED_BACK []Collection = new FEED_BACK[FEED_BACK.MAXIMUM_FEEDBACKS ];
public Task_Index []Feedback_Index = new Task_Index[ FEED_BACK.MAXIMUM_FEEDBACKS ];
public int Current_Pos;
public Feedback_Collection()
{
// Initialization
Current_Pos = 0;
}
}

public abstract class FEED_BACK
{
public const int MAXIMUM_FEEDBACKS = 50; // Maximum feedback number
public string Role; // machine role
public string Server_IP; // ip address
public string Info; // retrieved information, not used by all child class instances
}

class Class1
{
static void Main(string[] args)
{
Feedback_Collection fb_Collection = new Feedback_Collection();
fb_Collection.Feedback_Index

fb_Collection.Feedback_Index[ 1 ].Task_Category = 1;
fb_Collection.Feedback_Index[ 1 ].Specific_Task = 2;
确定index【1】这个1没有越界?改成0看看
问题我帮你找到了,主要是fb_Collection.Feedback_Index[1]这个没有实例化,所以不能用fb_Collection.Feedback_Index[1].Task_Category,不然就出现实例化错误;看我帮你改的,你想想是不是这样
Task_Index task = new Task_Index();
task.Task_Category = 1;
task.Specific_Task = 2;
fb_Collection.Feedback_Index[1] = task;
可以的话加分哦

public static const int MAXIMUM_FEEDBACKS = 50; // Maximum feedback number
加个static 不然
FEED_BACK.MAXIMUM_FEEDBACKS 调用的时候MAXIMUM_FEEDBACKS 是没有值的

因为你的那个变量根本没有被初始化的
public FEED_BACK []Collection = new FEED_BACK[FEED_BACK.MAXIMUM_FEEDBACKS];
public Task_Index []Feedback_Index = new Task_Index[ FEED_BACK.MAXIMUM_FEEDBACKS ];
这两句是不能初始化变量的,得这样加上
public FEED_BACK []Collection = new FEED_BACK[FEED_BACK.MAXIMUM_FEEDBACKS];
public Task_Index []Feedback_Index = new Task_Index[ FEED_BACK.MAXI