On foreach(ids 中的变量 id) 对象引用未设置为对象 c# 的实例

本文关键字:设置 对象 实例 对象引用 id foreach ids On 变量 | 更新日期: 2023-09-27 17:57:05

    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),我该如何解决?

On foreach(ids 中的变量 id) 对象引用未设置为对象 c# 的实例

要么:

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

就像谢尔盖说的:

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); ;
        }   
    }
}

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

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();
}