1

動的な結果を返す検索があります。そのため、結果が見つからない場合はラベルを表示しようとしています。私が抱えている問題は、結果が動的で型と等しくないため、結果を数える方法がわからないことです。

エラーメッセージは次のとおりです。

演算子 '!=' は System.Collections.Generic.List および int 型のオペランドには適用できません

 if (Page.IsValid)
            {


                string keyword = txtSearch.Text.Trim();
                List<dynamic> results = SearchItems(keyword);
                List<dynamic> Cresults = SearchContacts(keyword);



               if(results != 0 || Cresults !=0)
               {


                    //bind and return
                    LVI.DataSource = results;
                    LVI.DataBind();
                    // System.Threading.Thread.Sleep(500);

                    //Contact Bind return
                    LVC.DataSource = Cresults;
                    LVC.DataBind();
                    //  System.Threading.Thread.Sleep(250);


                    lvAdmin.DataSource = results;
                    lvAdmin.DataBind();


                    LVCAdmin.DataSource = Cresults;
                    LVCAdmin.DataBind();
               }
               else{

                    NoResults.Visible = true;

               }
4

3 に答える 3

7

あなたはただすることはできません:

if(results != 0 || Cresults !=0)
{

}

そうすれば、実際の を と比較Listでき0ますが、これは明らかに失敗します。

ただ行う:

if(results.Count != 0 || Cresults.Count !=0)
{

}

または:

if(results.Any() || Cresults.Any())
{

}
于 2012-12-08T20:25:25.997 に答える
4

クラスのCountプロパティを使用します。List

if (results.Count != 0 || Cresults.Count != 0)
{
    //rest of code
}

ドキュメント: http://msdn.microsoft.com/en-us/library/a7f69ad7.aspx

于 2012-12-08T20:25:19.163 に答える
4

カウントを使用して試すことができます

if(results.Count > 0 || Cresults.Count > 0)
于 2012-12-08T20:25:31.077 に答える