Почему недоступен список в обработчике? - C#
Формулировка задачи:
public partial class Form1 : Form
{
public class XYZ
{
public XYZ(int x, int y)
{
X = x;
Y = y;
Z = 0;
}
public int X { get; set; }
public int Y { get; set; }
public int Z { get; set; }
}
public Form1()
{
InitializeComponent();
List<XYZ> list = new List<XYZ>();
list.Add(new XYZ(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text)));
list.Add(new XYZ(Convert.ToInt32(textBox3.Text), Convert.ToInt32(textBox4.Text)));
list.Add(new XYZ(Convert.ToInt32(textBox5.Text), Convert.ToInt32(textBox6.Text)));
// Подсчет суммы X
int prevY = list[0].Y; // предыдущий Y
int sumX = list[0].X; // сумма X
int count = 1; // кол-во сложенных
int indexStart = 0; // индекс начала последовательности объектов с одинаковым Y
for (int i = 1; i < list.Count; i++)
{
if (list[i].Y == prevY)
{
sumX += list[i].X;
if (count == 1)
indexStart = i - 1;
count++;
}
else
{
// Поле Y текущего объекта отличается от предыдущего
if (count > 1)
{
// Вычисляется номер строки массива для записи параметра Z
int index = indexStart + count / 2;
list[index].Z = sumX;
}
prevY = list[i].Y;
sumX = list[i].X;
count = 1;
}
}
// Последняя последовательность
if (count > 1)
{
// Вычисляется номер строки массива для записи параметра Z
int index = indexStart + count / 2;
list[index].Z = sumX;
}
// Вывод
foreach (XYZ xyz in list)
{
richTextBox1.AppendText(String.Format("X={0}, Y={1}, Z={2}\r\n", xyz.X, xyz.Y, xyz.Z));
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
list[0].X = Convert.ToInt32(textBox1.Text);
}
}Решение задачи: «Почему недоступен список в обработчике?»
textual
Листинг программы
private void textBox1_TextChanged(object sender, EventArgs e)
{
list[0].X = Convert.ToInt32(textBox1.Text);
fff(); //имя твоей функции, которая производит расчет
}