0

ページの読み込み時に入力する必要があるalistがあります。以下はdalのコードです

      public List<KeyValuePair<Guid, string>> GetProjectName()
    {
        List<KeyValuePair<Guid, string>> List = null;
        try
        {
            using (LiveLeaseEntities db = LiveLeaseHelper.GetDbLiveLeaseEntities())
            {
                var projects = (from p in db.t_Project
                                where p.IsActive == true
                                select p).ToList();
                if (projects != null)
                {
                    foreach (t_Project p in projects)
                    {
                        List.Add(new KeyValuePair<Guid, string>(p.ProjectId, p.ProjectName));
                    }
                }

                return List;

オブジェクトがオブジェクト エラーのインスタンスに設定されていません。プロジェクトをステップ実行するとカウントが 7 と表示されますが、エラーが発生します。

4

3 に答える 3

1

変数を宣言しましたList(ちなみに、絶対に別の名前を使用してください)

List<KeyValuePair<Guid, string>> List = null;

しかし、決して初期化されていません

List<KeyValuePair<Guid, string>> List = new List<KeyValuePair<Guid, string>>();

もちろん、この変数を使用しようとすると、 NullReferenceException が発生します

List.Add(.....) <- NullReferenceException without the initialization
于 2013-05-15T21:15:20.100 に答える
0

nullこの行でリストを設定しました

List<KeyValuePair<Guid, string>> List = null;

そして、これにアイテムを追加しようとしています。そのリスト型のインスタンスを作成する必要があるので、次のようにします

List<KeyValuePair<Guid, string>> list =  new List<KeyValuePair<Guid, string>>();

そして今、これにアイテムを追加しようとしていますlist

于 2013-05-15T21:15:49.997 に答える