У меня простая форма. Я работаю с шестью отдельными диапазонами чисел, например 0–1,57, 1,57–6,35, 6,35–12,7 и т. д.
В зависимости от выбранного класса A, B, C, и т. д. он возвращает разные допуски для каждого диапазона. Допуски находятся в отдельных списках для каждого класса.
Это работает так: «если (выбрано это и это), используйте этот список, иначе, если (выбрано это и это) ), используйте другой список.
Мой первый диапазон работает так, как должен, точно извлекая числа из списка. Пять диапазонов для второго класса работают так, как должны, но последний. диапазон в классе не возвращает правильный допуск. Он продолжает захватывать допуск для. место под номером 4, тогда как оно должно захватывать его с места под номером 5.
В этом нет ничего особенного, и я уверен, что вы найдете гораздо лучший способ сделать это, но Я просто пытаюсь научиться разным вещам.
Последние одиннадцать строк, выделенных жирным шрифтом, — это строки, которые не возвращают правильный результат. Он продолжает возвращать результаты из [4] в списках ClassB. вместо номера [5], однако списки класса A работают хорошо.
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private List ClassAPlus = new List { 0.080, 0.130, 0.150, 0.200, 0.250, 0.250 };
private List ClassAMinus = new List { 0.030, 0.050, 0.080, 0.100, 0.100, 0.130 };
private List ClassBPlus = new List { 0.080, 0.250, 0.300, 0.400, 0.500, 0.500 };
private List ClassBMinus = new List { 0.030, 0.100, 0.100, 0.150, 0.150, 0.250 };
private void btnEnter_Click(object sender, EventArgs e)
{
double Diameter, Plus, Minus, Nominal, Tolerance;
if (double.TryParse(txtSize.Text, out Diameter)) ;
if (rbA.Checked == true && rbMetric.Checked == true)
if (Diameter 1.57 || Diameter == 6.35)
{
Plus = (Diameter + ClassAPlus[1]);
Minus = (Diameter - ClassAMinus[1]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[1].ToString("0.000") + " /- " + ClassAMinus[1].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 6.35 || Diameter == 12.7)
{
Plus = (Diameter + ClassAPlus[2]);
Minus = (Diameter - ClassAMinus[2]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[2].ToString("0.000") + " /- " + ClassAMinus[2].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 12.7 || Diameter == 19.05)
{
Plus = (Diameter + ClassAPlus[3]);
Minus = (Diameter - ClassAMinus[3]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[3].ToString("0.000") + " /- " + ClassAMinus[3].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 19.05 || Diameter == 25.4)
{
Plus = (Diameter + ClassAPlus[4]);
Minus = (Diameter - ClassAMinus[4]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[4].ToString("0.000") + " /- " + ClassAMinus[4].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 25.4)
{
Plus = (Diameter + ClassAPlus[5]);
Minus = (Diameter - ClassAMinus[5]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[5].ToString("0.000") + " /- " + ClassAMinus[5].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
else
{
if (rbB.Checked == true && rbMetric.Checked == true)
{
if (Diameter 1.57 || Diameter == 6.35)
{
Plus = (Diameter + ClassBPlus[1]);
Minus = (Diameter - ClassBMinus[1]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[1].ToString("0.000") + " /- " + ClassBMinus[1].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 6.35 || Diameter == 12.7)
{
Plus = (Diameter + ClassBPlus[2]);
Minus = (Diameter - ClassBMinus[2]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[2].ToString("0.000") + " /- " + ClassBMinus[2].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 12.7 || Diameter == 19.05)
{
Plus = (Diameter + ClassBPlus[3]);
Minus = (Diameter - ClassBMinus[3]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[3].ToString("0.000") + " /- " + ClassBMinus[3].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 19.05 || Diameter == 25.4)
{
Plus = (Diameter + ClassBPlus[4]);
Minus = (Diameter - ClassBMinus[4]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[4].ToString("0.000") + " /- " + ClassBMinus[4].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
**if (Diameter > 25.4)
{
Plus = (Diameter + ClassBPlus[5]);
Minus = (Diameter - ClassBMinus[5]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[5].ToString("0.000") + " /- " + ClassBMinus[5].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");**
};
}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... om-my-list
Почему из моего списка извлекаются неверные данные? ⇐ C#
Место общения программистов C#
-
Anonymous
1737470464
Anonymous
У меня простая форма. Я работаю с шестью отдельными диапазонами чисел, например 0–1,57, 1,57–6,35, 6,35–12,7 и т. д.
В зависимости от выбранного класса A, B, C, и т. д. он возвращает разные допуски для каждого диапазона. Допуски находятся в отдельных списках для каждого класса.
Это работает так: «если (выбрано это и это), используйте этот список, иначе, если (выбрано это и это) ), используйте другой список.
Мой первый диапазон работает так, как должен, точно извлекая числа из списка. Пять диапазонов для второго класса работают так, как должны, но последний. диапазон в классе не возвращает правильный допуск. Он продолжает захватывать допуск для. место под номером 4, тогда как оно должно захватывать его с места под номером 5.
В этом нет ничего особенного, и я уверен, что вы найдете гораздо лучший способ сделать это, но Я просто пытаюсь научиться разным вещам.
Последние одиннадцать строк, выделенных жирным шрифтом, — это строки, которые не возвращают правильный результат. Он продолжает возвращать результаты из [4] в списках ClassB. вместо номера [5], однако списки класса A работают хорошо.
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private List ClassAPlus = new List { 0.080, 0.130, 0.150, 0.200, 0.250, 0.250 };
private List ClassAMinus = new List { 0.030, 0.050, 0.080, 0.100, 0.100, 0.130 };
private List ClassBPlus = new List { 0.080, 0.250, 0.300, 0.400, 0.500, 0.500 };
private List ClassBMinus = new List { 0.030, 0.100, 0.100, 0.150, 0.150, 0.250 };
private void btnEnter_Click(object sender, EventArgs e)
{
double Diameter, Plus, Minus, Nominal, Tolerance;
if (double.TryParse(txtSize.Text, out Diameter)) ;
if (rbA.Checked == true && rbMetric.Checked == true)
if (Diameter 1.57 || Diameter == 6.35)
{
Plus = (Diameter + ClassAPlus[1]);
Minus = (Diameter - ClassAMinus[1]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[1].ToString("0.000") + " /- " + ClassAMinus[1].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 6.35 || Diameter == 12.7)
{
Plus = (Diameter + ClassAPlus[2]);
Minus = (Diameter - ClassAMinus[2]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[2].ToString("0.000") + " /- " + ClassAMinus[2].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 12.7 || Diameter == 19.05)
{
Plus = (Diameter + ClassAPlus[3]);
Minus = (Diameter - ClassAMinus[3]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[3].ToString("0.000") + " /- " + ClassAMinus[3].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 19.05 || Diameter == 25.4)
{
Plus = (Diameter + ClassAPlus[4]);
Minus = (Diameter - ClassAMinus[4]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[4].ToString("0.000") + " /- " + ClassAMinus[4].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 25.4)
{
Plus = (Diameter + ClassAPlus[5]);
Minus = (Diameter - ClassAMinus[5]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassAPlus[5].ToString("0.000") + " /- " + ClassAMinus[5].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
else
{
if (rbB.Checked == true && rbMetric.Checked == true)
{
if (Diameter 1.57 || Diameter == 6.35)
{
Plus = (Diameter + ClassBPlus[1]);
Minus = (Diameter - ClassBMinus[1]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[1].ToString("0.000") + " /- " + ClassBMinus[1].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 6.35 || Diameter == 12.7)
{
Plus = (Diameter + ClassBPlus[2]);
Minus = (Diameter - ClassBMinus[2]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[2].ToString("0.000") + " /- " + ClassBMinus[2].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 12.7 || Diameter == 19.05)
{
Plus = (Diameter + ClassBPlus[3]);
Minus = (Diameter - ClassBMinus[3]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[3].ToString("0.000") + " /- " + ClassBMinus[3].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
if (Diameter > 19.05 || Diameter == 25.4)
{
Plus = (Diameter + ClassBPlus[4]);
Minus = (Diameter - ClassBMinus[4]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[4].ToString("0.000") + " /- " + ClassBMinus[4].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");
}
**if (Diameter > 25.4)
{
Plus = (Diameter + ClassBPlus[5]);
Minus = (Diameter - ClassBMinus[5]);
Nominal = (Plus + Minus) / 2;
Tolerance = Plus - Nominal;
lblResult.Text = Nominal.ToString("0.000") + " ±" + Tolerance.ToString("0.000");
lblBilat.Text = Diameter.ToString("0.000") + " +" + ClassBPlus[5].ToString("0.000") + " /- " + ClassBMinus[5].ToString("0.000");
lblRange.Text = (Nominal - Tolerance).ToString("0.000") + " - " + (Nominal + Tolerance).ToString("0.000");**
};
}
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79374480/why-is-this-pulling-the-wrong-data-from-my-list[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия