Click here to Skip to main content
15,888,521 members
Home / Discussions / C#
   

C#

 
GeneralRe: Excel 2000 vs Excel 2007 Pin
Mirko19809-Sep-09 21:42
Mirko19809-Sep-09 21:42 
AnswerHelp : bcp.exe blocked !!!! [Solved] Pin
Guy.Rostand9-Sep-09 3:36
Guy.Rostand9-Sep-09 3:36 
QuestionMore than one Client !!!! Pin
CRAZYCRICKET2259-Sep-09 2:36
CRAZYCRICKET2259-Sep-09 2:36 
AnswerRe: More than one Client !!!! Pin
SeMartens9-Sep-09 3:30
SeMartens9-Sep-09 3:30 
AnswerRe: More than one Client !!!! Pin
April Fans22-Sep-09 17:28
April Fans22-Sep-09 17:28 
QuestionNetwork Scanner Pin
deviao9-Sep-09 2:21
deviao9-Sep-09 2:21 
AnswerRe: Network Scanner Pin
Richard MacCutchan9-Sep-09 3:10
mveRichard MacCutchan9-Sep-09 3:10 
QuestionBinarySearch checks same element Pin
Caio19859-Sep-09 1:22
Caio19859-Sep-09 1:22 
Hello,

I've created a function which walks pixel by pixel on an image, storing the pixel color on a Pixel Class.

The software was doing much processing on this loop because each time a new Pixel was found an instance of a Pixel Class was created. Then, I decided to declare a single Pixel Class instance outside the loop and then modify only its values inside the loop and then add it to the list of Pixel Class.

The problem started appearing after I did that. Now, when I try using BinarySearch on a List<t> it always returns me 0. It seems that C# is checking the Pixel Class instead of its content, which is what I want.

I tried to create an IComparer<t> to check the Pixel Class value but it doesn't work since the function always receive the same Class in both parameters, so the check is in vain.

So here I leave the question: How can I use BinarySearch on a class which only changes its content but not its address?

The (pseudo)code below illustrates the code before and after the changes:

BEFORE:

for (int x...)
 for(int y...) 
 {
  Pixel p = new Pixel();
  p.value = ...
  ...
  int pos = pixels.BinarySearch(p);
 }


AFTER:

Pixel p = new Pixel();
PixelComparer pComp = new PixelComparer();
for (int x...)
 for(int y...) 
 {
  p.value = ...
  ...
  int pos = pixels.BinarySearch(p);
  int pos = pixels.BinarySearch(p, pComp);
  //now both calls above returns fails!!!
 }


public class PixelComparer : IComparer<Pixel>
{
 public int Compare(Pixel a, Pixel b)
 {
  //a.value and b.value is always the same value!!!
  Console.WriteLine("{0} x {1}", a.value, b.value);
  return a.value.CompareTo(b.value);
 }
}


Thanks in advance,
AnswerRe: BinarySearch checks same element Pin
Luc Pattyn9-Sep-09 1:30
sitebuilderLuc Pattyn9-Sep-09 1:30 
GeneralRe: BinarySearch checks same element Pin
Caio19859-Sep-09 1:49
Caio19859-Sep-09 1:49 
GeneralRe: BinarySearch checks same element Pin
Luc Pattyn9-Sep-09 2:11
sitebuilderLuc Pattyn9-Sep-09 2:11 
GeneralRe: BinarySearch checks same element Pin
Caio19859-Sep-09 3:03
Caio19859-Sep-09 3:03 
GeneralRe: BinarySearch checks same element Pin
Caio19859-Sep-09 4:16
Caio19859-Sep-09 4:16 
GeneralRe: BinarySearch checks same element Pin
Luc Pattyn9-Sep-09 10:24
sitebuilderLuc Pattyn9-Sep-09 10:24 
QuestionWhere to POST? Pin
Jacobb Michael9-Sep-09 0:43
Jacobb Michael9-Sep-09 0:43 
QuestionDeveloping messenger Pin
Xmen Real 9-Sep-09 0:40
professional Xmen Real 9-Sep-09 0:40 
GeneralRe: Developing messenger Pin
CoderForEver9-Sep-09 23:45
CoderForEver9-Sep-09 23:45 
Questionobtain Ram and Monitor features Pin
moein.serpico9-Sep-09 0:33
moein.serpico9-Sep-09 0:33 
AnswerRe: obtain Ram and Monitor features Pin
Eddy Vluggen9-Sep-09 0:52
professionalEddy Vluggen9-Sep-09 0:52 
GeneralRe: obtain Ram and Monitor features Pin
moein.serpico9-Sep-09 4:17
moein.serpico9-Sep-09 4:17 
GeneralRe: obtain Ram and Monitor features Pin
OriginalGriff9-Sep-09 4:30
mveOriginalGriff9-Sep-09 4:30 
AnswerRe: obtain Ram and Monitor features Pin
Nuri Ismail9-Sep-09 0:55
Nuri Ismail9-Sep-09 0:55 
Questionxml file vs .config Pin
humayunlalzad9-Sep-09 0:02
humayunlalzad9-Sep-09 0:02 
AnswerRe: xml file vs .config Pin
Arun Jacob9-Sep-09 0:06
Arun Jacob9-Sep-09 0:06 
AnswerRe: xml file vs .config Pin
PIEBALDconsult9-Sep-09 6:43
mvePIEBALDconsult9-Sep-09 6:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.