L'ajout d'un élément à la liste de string[]

Je suis en train d'ajouter quelques lignes que j'ai obtenu à partir d'un DataTable à ma liste à l'aide de cette structure:

protected struct roleProperties
{
    public string roleName { get; set; }
    public string[] functionTitle { get; set; }
}

Comme vous pouvez le voir je veux plus de chaînes à l'intérieur de la méthode Title chaîne

J'ai essayé de faire comme ceci:

public void getRoleFuncs(int roleId)
{
    List<roleProperties> roles = new List<roleProperties>();
    int i = 1;

    SqlParameter ro_id = new SqlParameter("@ro_id", roleId);
    string q = "SELECT ro_name, fu_title FROM roles INNER JOIN rolefunctions ON roles.ro_id = rolefunctions.fk_role_id INNER JOIN functions ON rolefunctions.fk_func_id = functions.fu_id WHERE ro_id = @ro_id";
    SqlDataReader r = gm.returnReader(q, ro_id);
    while (r.Read())
    {
        roleProperties item = new roleProperties();
        item.roleName = r["ro_name"].ToString();
        foreach (IDataRecord str in r)
        {
            item.functionTitle[i] = r["fu_title"].ToString();
            i++;
        }
        roles.Add(item);
    }
}

Mais je reçois une référence nulle sur cette ligne:

item.functionTitle[i] = r["fu_title"].ToString();

N'importe qui peut voir ce que je fais de mal?

InformationsquelleAutor mackwerk | 2013-02-25