Сохранен 61
https://2ch.hk/pr/res/1069116.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

С# ТРЕД

 retard OP 01/10/17 Вск 12:57:31 #1 №1069116 
8028086b281.jpg
В тред призываются программисты

Пишу программу 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);
}
}
}
бамп retard OP 01/10/17 Вск 12:58:18 #2 №1069117 
Огромная просьба расписать подробно, ибо я нью фаг в программировании, но программу нужно создать.
retard OP 01/10/17 Вск 12:59:38 #3 №1069119 
Вверх
retard OP 01/10/17 Вск 13:15:27 #4 №1069124 
бамп
Аноним 01/10/17 Вск 13:34:29 #5 №1069132 
exception.png
Господа, изучаю юнит-тесты и нужна помощь.
Сделал в тестирующем методе функцию Assert.AreEqual(expected, actual). Expected и Actual - списки стрингов. Запускаю дебаг, останавливаюсь на этой строчке - оба списка одинаковые. Но как только запускается функция, VS выкидывает исключение (см. пикчу). Что это может быть?
Аноним 01/10/17 Вск 14:18:26 #6 №1069149 
>>1069132
Вангую, тут нужно нечто иное, чем просто AreEqual. Ибо два списка с одинаковым содержимым - это не то же самое, что два одинаковых списка.

Если коротко, проверяй элементы по отдельности.

мимокрокодил
Аноним 01/10/17 Вск 14:21:35 #7 №1069151 
>>1069149
Вот, это попробуй:
https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.collectionassert.areequal.aspx
Аноним 01/10/17 Вск 18:15:23 #8 №1069253 
.png
.png
Хочу вернуть всю строку джосона с ответа (пик1), но что-то не получается(пик2). ЧЯДН?
Аноним 01/10/17 Вск 18:24:02 #9 №1069256 
>>1069253
System.Threading.Tasks.Task`1[System.String]
Аноним 01/10/17 Вск 22:58:01 #10 №1069407 
Какого хера он не понимает, что такое BikeList, если он создан строкой выше?
List<Bike> BikeList = new List<Bike>();
BikeList.Add("29", 1000);
Аноним 01/10/17 Вск 23:27:27 #11 №1069414 
>>1069407
Причем если в app.xaml.cs делать - такая вот хуйня, а в MainWindow.xaml.cs всё работает, хотя там идеологически не должно быть сложной логики, только всякие обработчики.

Это теперь новый шарпотрид что ли?
Аноним 02/10/17 Пнд 09:03:03 #12 №1069532 
image.png
>>1069116 (OP)
>сори не нашел нужной программы в папке
Аноним 03/10/17 Втр 07:50:55 #13 №1069883 
Аноны, есть listbox, к нему прикручен list.
Нужно в шарпокоде, не xaml-е, получить доступ к выбранной в listbox вещи из list.
Как?
Аноним 03/10/17 Втр 10:38:29 #14 №1069915 
>>1069883
SelectedItem
Аноним 03/10/17 Втр 11:01:35 #15 №1069926 
>>1069915
И что? У нас есть SelectedItem в листбоксе,
(датасорс листбокса - лист), и поменять через него поля объекта листа, или вызвать методы этого объекта, невозможно.
Аноним 03/10/17 Втр 11:05:46 #16 №1069928 
>>1069926
Как в жабе, достаешь итем, находишь по id в листе и делаешь,что хочешь
Аноним 03/10/17 Втр 11:07:34 #17 №1069930 
Someitem item = list.where(X => x.id == selectedItem.id).first();
Аноним 03/10/17 Втр 11:42:52 #18 №1069938 
>>1069928
>>1069930
Это первое, что пришло в голову, но блядь, через жопу же, поиск такой городить.
Аноним 03/10/17 Втр 12:54:01 #19 №1069958 
>>1069938
Так рабочий велосипед
Аноним 03/10/17 Втр 13:40:28 #20 №1069976 
>>1069958
Анальный. Ну ок. Мне никрасива, но что делать.
Аноним 03/10/17 Втр 14:21:57 #21 №1069990 
15042861977280.jpg
Котаны я пизедц запутался, начал копать бота (wow),потребовалось нормально вращать перса в игре. Исходники одного бота используют нажатие стрелочек, лол, второй, самый труевый что сейчас есть перемещается помощью кликов по земле. Короче как эмалировать драг мыши в неактивном окне ? Вроде простой вопрос, но ничего не нагуглил.
Аноним 03/10/17 Втр 15:24:28 #22 №1070019 
1443328465782default.jpg
>>1069990
>эмалировать
Аноним 04/10/17 Срд 12:39:54 #23 №1070496 
>>1069116 (OP)
try-catch

>>1069253
>ReadAsStringAsync().Result

>>1069407
Ошибка у тебя потому что ты пытаешься впихнуть что-то невразумительное в List<Bike>. вероятно имелось в виду

BikeList.Add(new Bike() { field1 = "29", field2 = 1000);

или если у тебя в классе Bike есть конструктор, который принимает аргументы (string, int), то

BikeList.Add(new Bike("29", 1000));
Аноним 04/10/17 Срд 14:41:59 #24 №1070532 
>>1069532
Directory.GetCurrentDirectory() не осилил?
Аноним 05/10/17 Чтв 16:18:42 #25 №1071159 
Бля, тредом промахнулся, копирую сюда:

Алсо, пилю кулстори про .NET 4.7.

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-формы)?
Аноним 05/10/17 Чтв 18:01:07 #26 №1071195 
>>1071159
Бросай это говно, полумертвая хуйня, еще и уступающая той же Жабе в удобстве.
Аноним 05/10/17 Чтв 18:06:14 #27 №1071197 
>>1071159
Что- все? Программист блядь. Все у него тормозит
Аноним 05/10/17 Чтв 18:10:22 #28 №1071198 
>>1071197
>Что- все?
Я конкретно сказал что там тормозит: старт приложения, создание MDI-окна, делание MDI-окна видимым. Это то что мне удалось найти.

>>1071195
Говорят жаба это .net 1.0 и что все дотнетчики переходя на неё сильно матерятся. Это правда?
Аноним 05/10/17 Чтв 18:13:06 #29 №1071200 
>>1071198
Для разработки- i7, ssd
Аноним 05/10/17 Чтв 18:18:25 #30 №1071206 
>>1071200
ssd is unreliable. У меня память 12ГБ, i7 950. Всё должно летать.
Аноним 05/10/17 Чтв 19:21:04 #31 №1071229 
Подскажите как создавать таблицы прямо как в э к с э л е и получать доступ в к ячейкам .net. Перерыл весь стаковерфлхуй, но ничего не выходит
Аноним 05/10/17 Чтв 19:26:48 #32 №1071233 
>>1071229
Я на работе юзал какую-то либо, по-моему платную. Там можно было создавать документ и править его как угодно.
А бесплатного ничего не знаю.
sageАноним 05/10/17 Чтв 19:33:13 #33 №1071238 
>>1071233
какой еще документ?
Мне для лабы нужно таблицу 4x4 сделать и три кнопки к ней
Аноним 05/10/17 Чтв 19:44:44 #34 №1071240 
>>1071229
datagridview + datatable
Аноним 05/10/17 Чтв 19:52:45 #35 №1071245 
>>1071238
>Мне для лабы нужно таблицу 4x4 сделать и три кнопки к ней
Тогда иди нахуй.
sageАноним 05/10/17 Чтв 22:56:39 #36 №1071316 
>>1071245
почему?
Аноним 06/10/17 Птн 07:54:10 #37 №1071445 
>>1071159
Пройдись профайлером по разным местам, если не джун. Наверняка в твоем коде есть что-то, что юзает класс/метод, который обновили в 4.7.
Алсо мерять надо бенчмарками, а не на глаз.
Аноним 06/10/17 Птн 09:47:08 #38 №1071461 
>>1071445
>Алсо мерять надо бенчмарками, а не на глаз.
На глаз тоже можно, там разница невооруженным глазом видна.
Пройтись профайлом это была хорошая идея, в следующий раз попробую посмотреть что там.
Аноним 06/10/17 Птн 18:29:59 #39 №1071697 
>Пишу программу WPF
WPF параша всратая, я дико бугуртил, когда майкрософт сами же от своей технологии отказались (никогда не было и вот опять)

а вообще, по теме, пиши так:

private bool fileIsExists(filename)
{

if (File.Exists(filename))
{
Process.Start(filename");
return true;
}

// Увы, нихера нет
return false;
}


Аноним 06/10/17 Птн 19:59:03 #40 №1071730 
>>1071159
В WinForms единственное что меняли - это поддержку HighDPI. Попробуй посмотреть на разницу в скорости при стандартной плотности (96 dpi)
sageАноним 07/10/17 Суб 16:56:59 #41 №1072051 
>>1069116 (OP)
Поссал в рот пидору создающему отдельный тред для своей ебанной лабы
Аноним 07/10/17 Суб 16:59:49 #42 №1072052 
image.png
Сап шарпач, помоги избавится от копипасты. ToggleNode и RangeNode sealed классы из внешнего кода, менять их никак нельзя.
Аноним 07/10/17 Суб 21:51:05 #43 №1072185 
>>1072052
OnValueChanged и SetChanged, как я помню, вынесены в интерфейс. Вот и напиши метод под интерфейс, а не под типы.
Аноним 08/10/17 Вск 02:16:43 #44 №1072274 
>>1072185
Нихуя там не вынесено, OnValueChanged это паблик поле типа Action, даже не ивент.
Забей, я через проперти тайп нашел у рейндж ноды это ссаное поле и кастанул его к типу Action.
Аноним 08/10/17 Вск 08:06:31 #45 №1072290 
>>1072052
Я плохо понимаю что тебе требуется, но во всех ветках кода последние две строчки одинаковы, их можно вынести, ну и ещё можно кастовать не в цикле а делать что-то вроде
var value = prop.GetValue(Settings) as typeof(prop.PropertyType)
хотя хуй знает, я вообще не пишу на этом языке
Аноним 08/10/17 Вск 14:49:15 #46 №1072383 
>>1072290
>я вообще не пишу на этом языке
Оно и видно. Нельзя кастовать к рантайм типу.
Алсо я ведь уже написал что разобрался.
Аноним 08/10/17 Вск 15:12:05 #47 №1072389 
image.png
>>1072383
Вот короче, если кому интересно. Но это довольно хуевое решение, если в будущем у OnValueChanged чет поменяется то я об этом узнаю только когда замечу что OnSettingsPropertyChanged выполнятся перестал.
Аноним 08/10/17 Вск 18:57:16 #48 №1072484 
Споткнулся на одной задачке в обучающем курсе по шарпу.
На вход подается строка, например " '\\\\\\' ", надо просто вытащить содержимое из одинарных кавычек.
Я вижу, что в этой строке три экранированных обратных слеша, поэтому и возвращаю их же: " \\\\\\ ". На что получаю, что ожидается " \\\ ", а не вот это.
И как мне вернуть три слеша?
Аноним 09/10/17 Пнд 00:57:26 #49 №1072617 
ввввв.png
Спрошу и я.
Как на С# вывести массив случайно заполненными числами в 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;
Аноним 09/10/17 Пнд 06:18:07 #50 №1072656 
>>1072617
Random rnd = new Random();
dataGridView1.Rows.Clear();
dataGridView1.Rows.AddRange(Enumerable.Repeat(1,50).Select(x=>rnd.Next(-50, 50)));
(код не проверял, сам ебись, может надо после Select .ToArray()) ешё влепить.
Аноним 09/10/17 Пнд 06:28:27 #51 №1072658 
Вообщем так как java умирает. Я перекатываюсь к вам. Сколько там врпмени понадобится для изучения дотнета?
Аноним 09/10/17 Пнд 06:34:24 #52 №1072662 
>>1072658
> Сколько там врпмени понадобится для изучения дотнета?
Методичка есть? Тогда сейчас докурим и пойдём сдавать))
Пиздец ты дебил
Аноним 10/10/17 Втр 10:04:03 #53 №1073303 
851a17c057d11aa1b1c5c63560b707d9.jpg
Как подключить Windows аутентификацию в WebApi проекте на .NET Core?
Аноним 10/10/17 Втр 10:49:10 #54 №1073323 
>>1073303
Ман читать не пробовал?
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth
Аноним 10/10/17 Втр 10:51:59 #55 №1073324 
>>1073323
Пробовал. В проекте, созданном через консоль, нет файла launchSettings.json.
Аноним 10/10/17 Втр 10:56:26 #56 №1073328 
>>1073324
Ты видать по диагонали прочитал.
Аноним 10/10/17 Втр 11:02:30 #57 №1073330 
>>1073328
По диагонали. В проекте созданном через Visual Studio иная структура. Попробую через WebListener.
Аноним 10/10/17 Втр 11:11:15 #58 №1073332 
>>1073330
launchSettings.json имеет отношение только к VS, тебе другие пункты нужны.

>WebListener
Как службу нормально не запустишь.
Аноним 10/10/17 Втр 14:32:08 #59 №1073468 
окнафон умер, а вместе с ним и сишурп
куплю соби андроид, буду на котлине российском киллэр эппы разные делать
Аноним 27/10/17 Птн 20:27:01 #60 №1082901 
Не могу решить задачу на шарпе. Само задание простое: написать метод, который по слову и id документа должен искать все позиции, в которых это слово начинается.
Но есть дополнительное условие: сложность алгоритма должна быть O(result).
Я уже перепробовал несколько вариантов, вот такой самый простой на мой взгляд: https://ideone.com/KvxiuP
И все равно никак не могу уложиться в требование по сложности.
Как можно решить еще проще?
Аноним 15/11/17 Срд 20:51:19 #61 №1092560 
>>1082901
Еще актуально?
comments powered by Disqus