int left = 0;
int right = myBlog.Count - 1;
while (left <= right)
{
int middle = (left + right) / 2;
string []copyList = myBlog[middle];
int copy = ord.CompareTo(copyList[1]);
if (copy > 0)
left = middle + 1;
else if (copy < 0)
right = middle - 1;
else
return middle;
}
While har inte return, du måste använda break och bara ha variabeln middle initierad ovan den.
Edit: fel av mig tänkte fel språk men vet inte om den returnerar ett värde? C# har jag inte gjort mycket i.
Sedan är jag inte hundra på att det är ett problem en ser udda ut när du gör delningen på (left + right) / 2; detta blir sedan avrundat vilket kan ge upphov till problem med att det tillsammans med att du adderar ett, det kan bli en loop av att lägga till och tb ort.