Ошибка method name expected - C#
Формулировка задачи:
Добрый день,
я пытаюсь написать код, который используя коллекции чисел (история изменения значения Х) высчитывает количество изменений, больших чем на один 1%. Бьюсь уже пару дней над ошибкой, никак не могу понять откуда берется. Вот класс со свойствами и методом подсчета:
А вот код формы:
Ну и при компиляции выдается выше указанная ошибка
class DataF
{
private int numberOfHits;
public int NumberOfHits
{
get { return numberOfHits; }
set { numberOfHits = value; }
}
private int subCodeLocation;
public int SubCodeLocation
{
get { return subCodeLocation; }
set { subCodeLocation = value; }
}
private double lastHit;
public double LastHit
{
get { return lastHit; }
set { lastHit = value; }
}
public int CalculateHits(double lastHit, List<double> list, out double n) {
for (int j = 0; j < list.Count; j++)
if ((list[j] > (LastHit * 1.01)) || (list[j] < (LastHit * 0.99)))
{
LastHit = list[j]; // если текущее значение больше или меньше предыдущего сохраненного на 1%
NumberOfHits = NumberOfHits + 1; // считаем количество таких колебаний
}
n = LastHit; // вывести нужно как количество колебаний, так и значение последнего изменения на 1%
return NumberOfHits;private void calculateButton_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog
{
Filter = "Файлы Excel |*.xlsx"
};
if (dialog.ShowDialog() == DialogResult.OK)
{
Excel.Application app = new Excel.Application();
app.Workbooks.Open(dialog.FileName);
Excel.Workbook book = app.ActiveWorkbook;
Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets[1];
Excel.Range xlRange = sheet.UsedRange;
int rowCount = xlRange.Rows.Count;
List<double> list1 = new List<double>();
int list1Hits = 0;
int list1CodeColumn = 1;
int list1NumberColumn = 3;
// Выгружаем числа из экселя, создаем коллекцию, code которой нас интересует
for (int i = 1; i < rowCount + 1; i++)
{
string code = xlRange.Cells[i, list1CodeColumn].Value2.ToString();
if (code.Contains("AAA"))
{
string v = xlRange.Cells[i, list1NumberColumn].Value2.ToString();
double val = Int64.Parse(v);
list1.Add(val);
}
}
double LastHit = double.Parse((Controls["LastHit"] as TextBox).Text); // считывем значение, которое будет точкой отсчета для дальнейших изменений на 1% //
double lastHitToSave; // это значение последнего колебания из коллекции
double NumberOfHits; // это количество колебаний
DataF data1 = new DataF();
data1.NumberOfHits= data1.CalculateHits(LastHit, list1, out lastHitToSave)
MessageBox.Show(data1.NumberOfHits.ToString());
}
}Решение задачи: «Ошибка method name expected»
textual
Листинг программы
data1.NumberOfHits= data1.CalculateHits(LastHit, list1, out lastHitToSave)