与えられたコード:
from i in this.GridViewFoo.SelectedItems
select new EmployeeEntity
{
EmployeeID = (i as EmployeeDto).EmployeeID,
Email = this.GetAllEmail((i as EmployeeDto).Email, (i as EmployeeDto).SecondaryEmails),
EmployeeNumber = (i as EmployeeDto).EmployeeNumber,
FirstName = (i as EmployeeDto).FirstName,
LastName = (i as EmployeeDto).LastName
}
安全なキャストの後、(i as EmployeeDto)
NullReferenceExceptionを受け取る場合があります。コードの安全性を確保し、多くのnullチェックで彼を過負荷にしないようにするにはどうすればよいですか?
ソリューションの概要:
ソリューションが機能しているかどうかを確認するために、いくつかのテストを行いました。どちらもうまく機能しており、同じ結果が得られます。こちらで確認できます。その後、OfTypeSolutionとletSolutionを使用していくつかのパフォーマンステストを行いました。
OfTypeソリューションは平均してより良い時間を持っているので、これが答えになります!