나는 버튼의 목록을하고 난 '동일'인 두 요소 싶어 :찾기 '쌍'
for (int i = 0; i < Memory.Count; i++)
{
piezas = Memory.FindAll(s => (s.Name != Memory[i].Name && Utilidades.CompareImage(s.Image, Memory[i].Image)));
}
이 가정된다 (내가 잘못 아니에요 경우) 목록을 이름이 다르지만 동일한 이미지를 사용하는 두 요소가 있습니다. 나는 그런 요소가 존재한다는 것을 확신하지만 ... 왜 이것이 작동하지 않는지 모르겠습니다.
는 "Utilidades.CompareImage"는 정적 방법 :
public static bool CompareImage(Image firstImage, Image secondImage)
{
MemoryStream ms = new MemoryStream();
firstImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String firstBitmap = Convert.ToBase64String(ms.ToArray());
ms.Position = 0;
secondImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String secondBitmap = Convert.ToBase64String(ms.ToArray());
if (firstBitmap.Equals(secondBitmap))
return true;
else
return false;
}
내가 전에 방법을 테스트했고들이 의도로 작동합니다.
도와주세요.
코드 결과를 어떻게 확인하고 있습니까? 중간 결과를 보여주는 디버그 문을 추가하십시오. 코드는 '그냥 작동 할 것'처럼 보입니다. ... –
중단 점을 사용하면 var가 절대 2가 아니며 내 조건자가 잘못된 경우가 아니면 사용해야합니다. – Areks
그럼 2가 아닌 '두 요소 목록'이어야합니다. –