ブレークポイントを別のブランチにドラッグ アンド ドロップし、特定の種類の 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;
}