Пишу программу WPF в программе находятся 3 кнопки, каждая из них открывает сторонние программы, так вот как мне сделать поиск этих каждого их этих приложения в той папке где находятся моя программа, без под папок. В случае если сторонние программы не найдены выводился messagebox в котором будет сказано - "сори не нашел нужной программы в папке" ?
вот мой быдло код
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Diagnostics;
namespace Launcher { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); }
Господа, изучаю юнит-тесты и нужна помощь. Сделал в тестирующем методе функцию Assert.AreEqual(expected, actual). Expected и Actual - списки стрингов. Запускаю дебаг, останавливаюсь на этой строчке - оба списка одинаковые. Но как только запускается функция, VS выкидывает исключение (см. пикчу). Что это может быть?
>>1069407 Причем если в app.xaml.cs делать - такая вот хуйня, а в MainWindow.xaml.cs всё работает, хотя там идеологически не должно быть сложной логики, только всякие обработчики.
>>1069915 И что? У нас есть SelectedItem в листбоксе, (датасорс листбокса - лист), и поменять через него поля объекта листа, или вызвать методы этого объекта, невозможно.
Котаны я пизедц запутался, начал копать бота (wow),потребовалось нормально вращать перса в игре. Исходники одного бота используют нажатие стрелочек, лол, второй, самый труевый что сейчас есть перемещается помощью кликов по земле. Короче как эмалировать драг мыши в неактивном окне ? Вроде простой вопрос, но ничего не нагуглил.
1. Задаунлоадил дотнет 4.7. Установил. Результат: приложение стало стартовать ОЧЕ долго (более секунды по-моему, примерно 1.3 с, на .net 4.6 было менее 0.5 секунды), новые MDI формы создаются ОЧЕ долго (примеро 0.3-0.5 секунды, на .net 4.6 было мгновенно). Чисто мой код на C# работает с той же скоростью что и на .net 4.6.
2. Снес к хуям дотнет 4.7 и всё что было до него. Установил VS 2015 и дотнет 4.6. Всё опять стало летать.
3. Установил VS 2017 в дотнетом 4.7. Всё опять стало тормозить.
4. Снёс всё к хуям, установил VS 2015 (.net 4.6), всё стало летать.
5. Установил VS 2017 без .net 4.7, но он похоже всё равно установился против моей воли и всё стало снова тормозить.
6. Снёс всё к хуям, установил VS 2015 (.net 4.6), всё снова стало летать. Сижу и думаю, что же сука дальше будет.
Я один такой? У кого-нибудь .net 4.7 не вызвал торможений в некоторых местах работы приложений (в частности при старте, создании MDI-формы, изменении видимости MDI-формы)?
>>1071159 Пройдись профайлером по разным местам, если не джун. Наверняка в твоем коде есть что-то, что юзает класс/метод, который обновили в 4.7. Алсо мерять надо бенчмарками, а не на глаз.
>>1071445 >Алсо мерять надо бенчмарками, а не на глаз. На глаз тоже можно, там разница невооруженным глазом видна. Пройтись профайлом это была хорошая идея, в следующий раз попробую посмотреть что там.
>>1072185 Нихуя там не вынесено, OnValueChanged это паблик поле типа Action, даже не ивент. Забей, я через проперти тайп нашел у рейндж ноды это ссаное поле и кастанул его к типу Action.
>>1072052 Я плохо понимаю что тебе требуется, но во всех ветках кода последние две строчки одинаковы, их можно вынести, ну и ещё можно кастовать не в цикле а делать что-то вроде var value = prop.GetValue(Settings) as typeof(prop.PropertyType) хотя хуй знает, я вообще не пишу на этом языке
>>1072383 Вот короче, если кому интересно. Но это довольно хуевое решение, если в будущем у OnValueChanged чет поменяется то я об этом узнаю только когда замечу что OnSettingsPropertyChanged выполнятся перестал.
Споткнулся на одной задачке в обучающем курсе по шарпу. На вход подается строка, например " '\\\\\\' ", надо просто вытащить содержимое из одинарных кавычек. Я вижу, что в этой строке три экранированных обратных слеша, поэтому и возвращаю их же: " \\\\\\ ". На что получаю, что ожидается " \\\ ", а не вот это. И как мне вернуть три слеша?
Спрошу и я. Как на С# вывести массив случайно заполненными числами в DatagridView? Массив я заполнил. А каки именно вывести? Чтобы хотя бы просто 1 столбик с элементами этого массива был. Надо чтобы в дата грид вью был один столбец заполенный рандомными числами. Что-то я не догогняю потому что тупой как сука как этот дата грид вью работает вообще. Он просто не может что ли иметь 1 столбец? пока скопировал вот так, но мне не нравится. private void button1_Click(object sender, EventArgs e) { Random rnd = new Random(); int[] Array1 = new int[50]; for (int i = 0; i < 50; i++) { Array1 = rnd.Next(-50, 50); } dataGridView1.RowCount = 50; dataGridView1.ColumnCount = 1; for (int i = 0; i < 50; i++) { for (int j = 0; j < 1; j++) { dataGridView1.Rows.Cells[j].Value = Array1;
>>1072617 Random rnd = new Random(); dataGridView1.Rows.Clear(); dataGridView1.Rows.AddRange(Enumerable.Repeat(1,50).Select(x=>rnd.Next(-50, 50))); (код не проверял, сам ебись, может надо после Select .ToArray()) ешё влепить.
Не могу решить задачу на шарпе. Само задание простое: написать метод, который по слову и id документа должен искать все позиции, в которых это слово начинается. Но есть дополнительное условие: сложность алгоритма должна быть O(result). Я уже перепробовал несколько вариантов, вот такой самый простой на мой взгляд: https://ideone.com/KvxiuP И все равно никак не могу уложиться в требование по сложности. Как можно решить еще проще?
Пишу программу WPF в программе находятся 3 кнопки, каждая из них открывает сторонние программы, так вот как мне сделать поиск этих каждого их этих приложения в той папке где находятся моя программа, без под папок. В случае если сторонние программы не найдены выводился messagebox в котором будет сказано - "сори не нашел нужной программы в папке" ?
вот мой быдло код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Diagnostics;
namespace Launcher
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void app1_Click(object sender, RoutedEventArgs e)
{
Process.Start("app1.exe");
Environment.Exit(0);
}
private void app2_Click(object sender, RoutedEventArgs e)
{
Process.Start("app2.exe");
Environment.Exit(0);
}
private void app3_Click(object sender, RoutedEventArgs e)
{
Process.Start("app3.exe");
Environment.Exit(0);
}
}
}