public class cusProcess
{ public string proName;
public DateTime startTime;
public int proID;
public Process pro = new Process();
} public static int GetProcess(string name, int c, int cc)
{
int t = 0;
Process[] myProcess = Process.GetProcessesByName(name);
cusProcess[] cusProcess1 = new cusProcess[c + cc];
for (int a = 0; a < myProcess.Length; a++)
{
System.Console.WriteLine("a");
cusProcess1[a].proName = name;
cusProcess1[a].proID = myProcess[a].Id;
cusProcess1[a].startTime = myProcess[a].StartTime;
cusProcess1[a].pro=myProcess[a];
}
}
能运行到打印字母a的地方~报错的问题行就是下面那行~说Object reference not set to an instance of an object.
我在网上搜了下~还是没有解决我这个问题...能不能帮忙看看怎么弄~那最后4行估计都是同一个错~
谢谢
{ public string proName;
public DateTime startTime;
public int proID;
public Process pro = new Process();
} public static int GetProcess(string name, int c, int cc)
{
int t = 0;
Process[] myProcess = Process.GetProcessesByName(name);
cusProcess[] cusProcess1 = new cusProcess[c + cc];
for (int a = 0; a < myProcess.Length; a++)
{
System.Console.WriteLine("a");
cusProcess1[a].proName = name;
cusProcess1[a].proID = myProcess[a].Id;
cusProcess1[a].startTime = myProcess[a].StartTime;
cusProcess1[a].pro=myProcess[a];
}
}
能运行到打印字母a的地方~报错的问题行就是下面那行~说Object reference not set to an instance of an object.
我在网上搜了下~还是没有解决我这个问题...能不能帮忙看看怎么弄~那最后4行估计都是同一个错~
谢谢
应该修改成
cusProcess[] cusProcess1 = new cusProcess[myProcess.Length];至少你循环判断的上限跟你数组的count应该是一致的才对。
2.public static int GetProcess(string name, int c, int cc)这个方法你是怎么调用的?
Process[] myProcess = Process.GetProcessesByName(name);
cusProcess[] cusProcess1 = new cusProcess[c + cc];
for (int a = 0; a < myProcess.Length; a++)
{
System.Console.WriteLine("a");
cusProcess1[a].proName = name;
cusProcess1[a].proID = myProcess[a].Id;
cusProcess1[a].startTime = myProcess[a].StartTime;
cusProcess1[a].pro=myProcess[a];
}
红色部分:你只是new了一个cusProcess数组,但是具体的每个数组元素没有赋值,仍然为null,后面调用该数组元素当然报错