c#空字符串[]错误

c#空字符串[]错误,c#,arrays,string,C#,Arrays,String,有人请帮我看一下这段代码,它显示了数组出绑定异常 文件new_hosts.txt中的数据如下所示: test test 28/6/2015 09:45 PM test fafagf 30/6/2015 01:00 PM test sfaasfag 28/6/2015 10:05 PM 代码: 公共作废通知() { 字符串值; int ctr=0; bool isNotificationExits=false; string

有人请帮我看一下这段代码,它显示了
数组出绑定异常

文件new_hosts.txt中的数据如下所示:

test      test       28/6/2015    09:45 PM
test      fafagf     30/6/2015    01:00 PM
test      sfaasfag   28/6/2015    10:05 PM
代码:

公共作废通知()
{
字符串值;
int ctr=0;
bool isNotificationExits=false;
string[]meetingdata=新字符串[]{};
字符串[]通知数据=新字符串[]{};
尝试
{
//ctr=File.ReadAllLines(“new_hosts.txt”).Length;
meetingdata=File.ReadAllLines(“new_hosts.txt”);
}
捕获(FileNotFoundException)
{
//showmain菜单();
}
列表通知数据=新列表();
foreach(meetingdata中的字符串数据)
{
字符串修剪=数据;
//控制台写入线(数据);
正则表达式d=新正则表达式(@“(\d+[\/]\d+[\/]\d+);
正则表达式t=新正则表达式(@“(\d+)([\:])(\d+)\s(PM|AM)”;
匹配mt=t.匹配(修剪);
匹配md=d.匹配(修剪);
regvalue=md.Value+“”+mt.Value;
DateTime DateTime=新的DateTime();
如果(md.Success和mt.Success)
{
datetime=datetime.ParseExact(regvalue,“d/M/yyyy hh:mm tt”,新文化信息(“en-US”),datetimestyle.None);
//Console.Write(日期时间);
}
else{Console.WriteLine(“Opps someting出错了,请与开发人员联系…!!!”)}//这永远不会发生
如果(!(datetime如果(datetime您没有指定异常的确切位置,但我会(并非如此)胡乱猜测,并告诉您这段代码是您的错误:

for(int j=0; j <= notificationsdata.Length ; j++)
{
    Console.WriteLine(j + 1);
    Console.WriteLine(notificationsdata[j]);
}
或从循环最大值中减去一:

for(int j=0; j <= notificationsdata.Length - 1; j++)

for(int j=0;j您并没有具体说明从何处获得异常,但我会(并非如此)大胆猜测并告诉您,这段代码让您感到困扰:

for(int j=0; j <= notificationsdata.Length ; j++)
{
    Console.WriteLine(j + 1);
    Console.WriteLine(notificationsdata[j]);
}
或从循环最大值中减去一:

for(int j=0; j <= notificationsdata.Length - 1; j++)

for(int j=0;j除了Nikola的点之外,您还需要修正的是,您没有为数组设置大小

string[] notificationsdata = new string[]{};
如果您事先不知道大小,可以使用另一个数据结构,例如
列表
。我看到您创建了一个
列表
对象,但您将其命名为与数组相同的对象。这很混乱,因此您应该重命名其中一个或删除其中一个

要使用列表,请替换

notificationsdata[ctr]=data;


除了尼古拉的观点,你还需要修正的是,你还没有为数组设置大小

string[] notificationsdata = new string[]{};
如果您事先不知道大小,可以使用另一个数据结构,例如
列表
。我看到您创建了一个
列表
对象,但您将其命名为与数组相同的对象。这很混乱,因此您应该重命名其中一个或删除其中一个

要使用列表,请替换

notificationsdata[ctr]=data;


如果使用列表,则必须使用
通知数据将项目添加到列表中。添加(数据)
如果使用列表,则必须使用
通知数据将项目添加到列表中。添加(数据)

您的问题发生在哪里?始终发布完整的错误数据。并最小化代码。好的,先生,这是我第一次来这里。好的,您的问题发生在哪里?始终发布完整的错误数据。并最小化代码。好的,先生,这是我第一次来这里。好的,先生,这是正确的,但错误在代码的前面(
notificationsdata)抛出[ctr]=data;
)。但是,您的答案仍然是,这将是下一个发生的错误。这是正确的,但是错误将在代码的前面抛出(
notificationsdata[ctr]=data;
)。但是,您的答案仍然是,这将是下一个发生的错误。谢谢您的帮助。
notificationsdata.Add(data)
正在工作..但是现在我想问一下,如果
notificationdata
包含多行或多个数据,那么我如何在循环中检索它们或类似的东西….
for(int j=0;j好的,先生,我这样做
int j=0;foreach(notificationsdata中的字符串a){j++;Console.Write(“+j+”|”);Console.WriteLine(a)}Console.WriteLine();
你好,哈代,欢迎你-你对答案满意吗?谢谢你的帮助。
通知数据添加(数据)
正在工作..但是现在我想问一下,如果
notificationdata
包含多行或多个数据,那么我如何在循环中检索它们或类似的东西….
for(int j=0;j好的,先生,我这样做
int j=0;foreach(notificationsdata中的字符串a){j++;Console.Write(“+j+”|”);Console.WriteLine(a);}Console.WriteLine();
你好,哈代,不客气-你对答案满意吗?