on foreach(在id中的var id)对象引用未设置为对象的实例c#

时间:2014-04-07 14:54:14

标签: c#

    public void Post(IEnumerable<int> ids)
    {
        foreach (var id in ids)
        {
        string postIdVal = AddPublicationOnMonster(id);
        string url = string.Format("http://jobview.monster.com/getjob.aspx?JobID={0}",             postIdVal);
        System.Diagnostics.Process.Start(url); ;
        }   


    }

错误出现在foreach行中(ids中的var id),我该如何解决?

3 个答案:

答案 0 :(得分:0)

或者:

  1. ids为空,因为您使用Post作为参数调用null(更有可能)。
  2. ids.GetEnumerator()返回null,因为ids的实际类型没有正确实现此方法(不太可能)。

答案 1 :(得分:0)

像谢尔盖说:

public void Post(IEnumerable<int> ids)
{
    if(ids != null)
    {
        foreach (var id in ids)
        {
            string postIdVal = AddPublicationOnMonster(id);
            string url = string.Format("http://jobview.monster.com/getjob.aspx?JobID={0}",             postIdVal);
             System.Diagnostics.Process.Start(url); ;
        }   
    }
}

答案 2 :(得分:0)

在迭代之前,您应该检查您的集合是否已实例化。 检查它是否为“null”:

if (ids != null)
{
    foreach (var id in ids)
    {
    string postIdVal = AddPublicationOnMonster(id);
    string url = string.Format("http://jobview.monster.com/getjob.aspx?JobID={0}",             postIdVal);
    System.Diagnostics.Process.Start(url); ;
    }   
}
else
{
    DoSomething();
}