Не выполняет остальные операторы метода - C#

Узнай цену своей работы

Формулировка задачи:

Народ привет! В проекте есть класс, описанный как:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
 
namespace WindowsFormsApplication9
{
    public class ImageProcessing
    {
       private int wd; // ширина картинка
       private int hg; // высота картинки
       private int[] g; // массив ,хранящий значения пикселей по 16интервалам
       private int h;  // значение пикселя

       public ImageProcessing(Bitmap image)
       {
           wd = image.Width;
           hg = image.Height;
           g = new int[15];
       }
 
       public int[] getHistogram(Bitmap image)
       {
           for (int w = 0; w < 16; w++) g[w] = 0;    // ????????????????????
           System.Drawing.Imaging.BitmapData bmpData = image.LockBits(new Rectangle(0, 0, wd, hg), System.Drawing.Imaging.ImageLockMode.ReadWrite, image.PixelFormat);
           byte[] msv = new byte[bmpData.Stride * bmpData.Height];
           System.Runtime.InteropServices.Marshal.Copy(bmpData.Scan0, msv, 0, msv.Length);
           image.UnlockBits(bmpData);
          
           for (int i = 0; i < wd; i++)
           for (int j = 0; j < hg; j++)
                {   // получение R канала
                    h = msv[bmpData.Stride * j + 3 * i]; 
                   if ((h >= 0) && (h < 37.3125))         (g[1])++;
                   if ((h >= 37.3125) && (h < 74.625))    (g[2])++;
                   if ((h >= 74.625) && (h < 111.9375))   (g[3])++;
                   if ((h >= 111.9375) && (h < 149.25))   (g[4])++;
                   if ((h >= 149.25) && (h < 186.5625))   (g[5])++;
                   if ((h >= 186.5625) && (h < 223.875))  (g[6])++;
                   if ((h >= 223.875) && (h < 261.1875))  (g[7])++;
                   if ((h >= 261.1875) && (h < 261.1875)) (g[8])++;
                   if ((h >= 261.1875) && (h < 335.8125)) (g[9])++;
                   if ((h >= 335.8125) && (h < 373.125))  (g[10])++;
                   if ((h >= 373.125) && (h < 410.4375))  (g[11])++;
                   if ((h >= 410.4375) && (h < 447.75))   (g[12])++;
                   if ((h >= 447.75) && (h < 485.0625))   (g[13])++;
                   if ((h >= 485.0625) && (h < 525.375))  (g[14])++;
                   if ((h >= 525.375) && (h < 559.6875))  (g[15])++;
                   if ((h >= 559.6875) && (h < 597))      (g[16])++;
               }
           for (int i = 0; i < 16; i++) g[i]= Convert.ToInt32(g[i] / 300);  // Нормирование вектора
           return g;
       }

    }
}
Почему после первой строчки кода (цикла for) метод передает управление,объекту его вызвавшему, и не выполняет остальные операторы метода ?????????

Решение задачи: «Не выполняет остальные операторы метода»

textual
Листинг программы
for (int w = 0; w < g.Length; w++

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы