이 시도, 그것은합니다 ... '하면 FullName가'어떻게 든 코드에서 어딘가에 모든 고객에게 "안나"로 설정하거나, 데이터베이스, 또는 저장된 프로 시저에되고 있음을 수 있습니다
foreach (Customer name in m_customers)
{
if(name.ContactData != null) System.Diagnostics.Debug.WriteLine(name.ContactData.FullName);
if (name.ContactData.FullName == "Anna")
{
MessageBox.Show(string.Format("Yes"), "Test!", MessageBoxButtons.OK, MessageBoxIcon.Information); // Just for testing
}
}
그런 경우라면 'Anna'키워드에 대한 전체 검색을 수행하고 팝업이 표시되는지 확인하십시오.
다른 가능성은 각 고객과 함께 새로운 ContactData 객체를 생성하지 않고 단순히 변수를 재사용한다는 것입니다. 이것은 포인터가 사용 중이기 때문에 Same ContactData 객체로 모든 고객을 업데이트 할 수 있습니다. 대신, 각 고객마다 새로운 ContactData 객체를 새로 작성하십시오.
이러한 두 가지 가능성이 도움이되지 않으면 문제를 해결하기 위해 더 많은 코드를 게시해야합니다.
foreach 루프에 간단한 'console.writeline' 호출을 삽입하여 루프의 모든 항목에 대해 ContactData.FullName을 인쇄하십시오. 변수 네이밍이 혼란 스럽다면 아마 foreach (m_customers에있는 고객) ' – ChristopheD
을 원할 것입니다.'m_customers'에는 고유 한 객체의 목록이 포함되어 있는지 확인 했습니까? – ChrisF
설명해 주시겠습니까, ChrisF? –