1

データテーブルでレコードを見つけています。レコードが一致する場合は、データ行の値を比較して何らかの操作を行います。より良い説明については、以下の私のコードを参照してください。

        foreach (DataRow row2  in dtTo.Rows)
        {

            DataRow[] match = dtReturn.Select("Id = " + row2["Id"]);

            if (match.Length > 0)
            {
                if (match[0]["boolInt"] == 1) // Getting error on this line
                {
                    match[0]["NewValues"] = "";
                }

            }

        }

下の行でエラーが発生していました

 if (match[0]["boolInt"] == 1)

次に、resharper は bool にキャストするように提案しました。だから私は上の行を

 if( (bool) (match[0]["bClosed"] = 1))

しかし、プロジェクトを実行すると、上記の行で「指定されたキャストが無効です」という実行時エラーが発生します。イミディエイト ウィンドウでは、次のように入力すると値が 1 になります。

(match[0]["bClosed"] 

このエラーを取り除くにはどうすればよいですか?

4

3 に答える 3