1

ブレークポイントを別のブランチにドラッグ アンド ドロップし、特定の種類の LINQ クエリを使用しているときに、Visual Studio でバグを発見したと思います。下の "if (x)" にブレークポイントを配置し、実行行を else ブランチにドラッグすると、コードは "test2" コレクションの初期化/コンストラクターで失敗します。

以前にLINQでこの「double from」構文を使用して結合を行ったことがありますが、これは受け入れられている慣行であると思います-用語があるかどうかはわかりません.

とにかく、他の誰かがこの奇妙なデバッグ動作を確認できますか?

    public class TestEntity
    {
        public int TestID { get; set; }
        public string Test { get; set; }
    }

    public class Test2Entity
    {
        public int Test2ID { get; set; }
        public string Test2 { get; set; }
    }

    private void button1_Click(object sender, EventArgs e)
    {
            bool x = Calc();

            if (x) //breakpoint here
            {
                int y = 1;
            }
            else
            {
                System.Collections.ObjectModel.Collection<TestEntity> test = new System.Collections.ObjectModel.Collection<TestEntity>();
                System.Collections.ObjectModel.Collection<Test2Entity> test2 = new System.Collections.ObjectModel.Collection<Test2Entity>(); // fails here

                var z = from t in test
                        from t2 in test2
                        select t.TestID;
            }
        }

        private bool Calc()
        {
            return true;
        }
4

0 に答える 0