Not all code paths return a value in lambda expression of type 'System.Func<int>'

c#, lambda

Solution

It's easy. Don't forget to return the value:

Task<int> task1 = new Task<int>(()=> { return CountPixels(croppedBitmap, Color.FromArgb(255, 255, 255, 255)); });

Problem

I'm creating a task of calling a function CountPixels as shown below ``` Task<int> task1 = new Task<int>(()=>{CountPixels(croppedBitmap, Color.FromArgb(255, 255, 255, 255));}); ``` The code for CountPixels is as follows: ``` private int CountPixels(Bitmap croppedBitmap, Color target_color) { int height = croppedBitmap.Height; int width = croppedBitmap.Width; int matches = 0; List<int> x1range = new List<int>(); List<int> y1range = new List<int>(); for (int y1 = 0; y1 < height; y1++) { for (int x1 = 0; x1 < width; x1++) { if (croppedBitmap.GetPixel(x1, y1) == target_color { matches++; x1range.Add(x1); y1range.Add(y1); } } } Console.WriteLine("before modification : {0} ms", sw.ElapsedMilliseconds); x1range.sort; y1range.sort; int x1max, y1max; x1max = x1range.Count - 1; y1max = y1range.Count - 1; try { fruit1.Text = "X1 MIN = " + x1range[0] + " X1 MAX = " + x1range[x1max] + " Y1 MIN = " + y1range[0] + " Y1 MAX = " + y1range[y1max]; } catch (Exception ex) { MessageBox.Show("" + ex); } return matches; } ``` I'm getting an Error at the task1 line: Not all code paths return a value in lambda expression of type 'System.Func int>' Please help me out..where am I going wrong? Thank you!

Original source

Related problems