0
C#のLINQクエリで次の 'on'セット定義があり、2つのDataTableをマージしようとしています。問題はm
にあり、列InputValue
は数値または英数字の値を含む文字列です。私はInt32.Parse(string)
が私の質問を妨害していると思うので、これは悪いです。私のwhere句は、これらのケースを除外するように指定されますが、Int32.parse関数が呼び出されて実行を吹き飛ばすかどうかは関係ありません。LINQはいつ "ON"条件オブジェクトを作成しますか?
on
// m
new {
FormType = m.Field<int>("FormType"),
ID = (int)Int32.Parse(m.Field<string>("InputValue"))
}
equals
// z
new {
FormType = z.Field<int>("FormType"),
ID = z.Field<int>("ZoneID")
}
where ... /* bad Int32.Parse cases would be filtered out.. */
あなたはそれが起こるか見て実行してみましたがありますか? –
varこの質問出力には「(特定のキャストは有効ではありません)」と表示されます。 –
[mcve]の作成を試しましたか? –