label2
label2
WinForms
public
на метод, который пытается изменить label2
, но возможно умудрились label2
сделать недоступным. по дефолту визуального конструктора, он скоре всего так public
, но может это вторичная фрма? которую вы всю всю сделали private
?... (хотя тут и компилятор бы ругнулся..) тем не менее - без полной картины качественный ответ невозможнint score=0;
label2.Text = "хоть что то";
while (score <= 0)
{
score = textBox1.TextLength;
richTextBox1.Text += score;
if(score>0)
label2.Text = score.ToString();
}
score
имеет отрицательное значение. но...int score=0;
, мало того, изначальное инициализиреуем label2
не пустым значением, а это будет только подливать керосина в костер, но уже в теле циклаscore = textBox1.TextLength;
вот только это значение ни когда не может быть отрицательным (а судя по остальному коду цикла, даже вряд ли нулевым хоть когда либо)while (score <= 0)
(то есть равенство нулю допустимо волею автора изначально) прервать эту вакханалию может только отрицтельное значение.. ну или break;
по какому то осмысленному условию, которое реально может наступить в достаточно короткие сроки.. а не через годы, а то ведь бешатой собаке семь верст не круг (с)C# лучший универсальный язык современности(с) Дмитрий Нестерук, сказано не особо давно. на тот момент точно уже съел собаку и в шарпе, и в плюсах (C++), и в F# (у меня есть основания так считать). много лет проработал в JetBrains, как раз главным по .net. что не поделили не знаю, да и не благодарное это занятие чужое исподнее разглядывать
IEnumerable<T>
нужен тогда и только тогда, когда нужны асинхроннные или ленивые вычисления, по тому что метод возвращающий IEnumerable<T>
, имеет право возвращать не весь набор, а возвращать экземпляры T
поштучно, вот такyield return
(T)foo;почему то значения в r1 r2 другие, хоть и приближенные
Random.Range(numbers[0], numbers[2]);
numbers[0]
, ни numbers[2]
. вы же задаете их как границы диапазона будущего случайного значения. обычно вы получите действительно значение где то между границnumbers.Remove(r1);
скорее всего ни чего не удаляет из списка. для удаления надо укзать значение, которое там действительно существуета r3 всегда равен min
numbers = new List<float>() { min, mid, max };
...
r3 = numbers[0];
numbers = new List<float>() { min, mid, max };
// тут без изменений
// далее различаем индексы и сами значения
i1 = Random.Range(0, numbers.Count-1);
r1 = numbers[i1]
numbers.RemoveAt(i1);
// ну или как вариант
i_n = Random.Range(0, numbers.Count-1);
r_n = numbers[i_n]
numbers.Remove(r_n);
// как видите, ни одной строки не убавилось. а удаление по индексу точно быстрее
// полную совместимость с Unity это уж сами проверьте
// естественно n ни когда не должно превышать исходного размера списка
// и еще - средства раскраски синтаксиса напомнили in это зарезервированное
// ключевое слово ;))
Random.Range()
возвращает float
, а в качестве индекса должно использоваться int
. в традиционном дотнете, приведение местами пойдет автоматически, но где то придется использовать явные приемы приведения типов...i_n = Random.Range(0, numbers.Count);
numbers.Count
всегда вернет актуальное значение размера. его нельзя использовать в качесве индекса. но нас только что заверили, что рандомайзер не возвращает верхнюю грницу. значит такой код и короче и корректнее Ссылки от того куда положили возвращаем в виде коллекции тому кто нас вызвал.вот это место не очень вписывается в концепцию конвеера на IEnumerable/yield/async/await
Пробовал с BlockingCollectionповторюсь, на сколько я уловил вашу задачу, кроме IEnumerable<>, в подобном конвеере в принципе ни че больше не нужно. ну или разве что как вы там результат решите формировать. но и для результата, даже для накопителя, из дотнетовских конструкций, того же IEnumerable<> за уши, а из него, если кончно это требуется, можно и json формировать
гуглится много аж глаза разбегаются но мне бы найти конкретно для меня, для чайникасовет чайнику - вы просто начните, можно 2-3 источника сразу. и сравниватей как заходит
рутрекер к сожалению не помог, что то на эту тему там очень мало, старое, и на английскомкниги всегда фатально отстают от реальности. но книг среди и есть такие, которые достоины быть настольными. для этого надо переформулировать вопрос. и опять же на такой вопрос успешно ответит и гугл. (затруднения с деньгами? уверяю, основные шедевры найдутся и на рутрекере тоже. тогда уж librusec добавьте в источники тоже. там уже давно ввели платное, хотя и копешное сачивание (да и не за все), но по прежнему многое мжно просто читать с сайта)
Вин10 + Убунту в виртуалке? Дык интерфейс безбожно тормозит в виртуалке, начинает бесить..вы часом не Hyper-V пробовали? под ним только винда шикарно живет. можно и линуксы, но только сервера. ну разве что еще KDE.. но гостевых тулов нету. клипбоард не пробрасывается. зачем такой мазохизм?
Судя по данным AIDA64 в моем ноуте используется SATA2 - вот только не понятно..в AIDA64 все понятно:
Посоветуйте, какой SSD мне взятьвот такой
Форм-фактор 2.5"а про SATA тоже все просто:
язык программирования ... для написания высокопроизводительного приложения на Windowsи
Не слишком высокий порог входасостоят в полной противоположности