Distinct()
использовать, а Where(d => (d.id == targetId))
Distinct()
, то даже при наличии повторяющихся id, но с различными данными, то вы получите ровно всю исходную коллекциюusing System;
using System.Collections.Generic;
using System.Linq;
public class dt
{
public int id;
public int val;
}
namespace distinct_or_not_distinct
{
public static class Program
{
public static void Main()
{
var listdata = new List<dt>();
listdata.Add(new dt() { id = 1, val = 11 });
listdata.Add(new dt() { id = 1, val = 12 });
listdata.Add(new dt() { id = 2, val = 21 });
listdata.Add(new dt() { id = 2, val = 22 });
listdata.Add(new dt() { id = 3, val = 31 });
"distinct dt".print();
listdata.Distinct().ToList().print();
newLine();
"distinct id".print();
(from d in listdata select d.id).Distinct().ToList().print();
newLine();
var targetId = 2;
$"target id {targetId}".print();
listdata.Where(d => (d.id == targetId)).ToList().print();
newLine();
}
public static void print(this List<dt> l) { foreach (var d in l) d.print(); }
public static void print(this dt d) => Console.WriteLine($"\tid:{d.id} val:{d.val}");
public static void print(this List<int> l) { foreach (var i in l) i.print(); }
public static void print(this int i) => Console.WriteLine('\t' + i.ToString());
public static void print(this string s) => Console.WriteLine(s);
public static void newLine() => Console.WriteLine();
}
}
или даже временный файл где все это на самом деле хранитсяне такого
что то подсказывает мне, что есть некая область памятитакое есть, это буффер вашего stdout, но для начала он под капотом системы. если в линуксе, то это одна история, если винде, то абсолютно другая. про винду добавлю - можете погрызть win32 api. с одной стороны гарантированно возможно залезть грязными ручками, даже из шарпа, в буффер stdout. с другой стороны гарантированно придется сильно напрягать мозги (с непривычка, а так то там ни че страшного) и много гуглить. а еще, в процессе такого обучения, наверняка иногда будете ронять систему. я так думаю. ибо если бы вы уже имели опыт общения с win32 api, то вряд ли бы задавали этот вопрос
Я хотел как КРАСИВО! То есть продублировать еще раз, как все, но так чтобы КРАСИВО, как будто я не занимаюсь черти чем, а делаю не как все и весь такой молодец. Понимаете почему?понимаю только что до вас не доходит абсолютно
То есть все таки нет? https://www.opennet.ru/docs/RUS/bash_scripting_gui...то что вы нашли, это перенаправление. я об этом раз пять уже сказал. в винде тоже самое, с небольшими отличиями:
Хм, нашел такая штука ... Оно Linux судя по всему, но суть ясная ... это вообще команда консоли, что судя по всему означает, что надо в "этом состоянии" запуститься ... Хм, мысль интересная ... Пока не выглядит красивым, что жаль.
если у вас выхлоп без диалога, то все просто до отвращения - пишете скрипт, в котором перенаправляете в "куда хочу" выхлоп проги, а уже после ее оокончания, выводите его еще и на экрана потоки ввода вывода, не смотря на различия в исходниках ядер операционнах систем GNU Linix и MS Windosw, иделогочески работают абсолютно одинаково. api разные. но идеология одна. перенаправить выхлоп готовой проги в скрипте элементарно, даже оператор для скриптов одинаковый
>
. но если вы захотите дублировать вывод (а именно так звучит ваш вопрос)Параллельное сохранение файла консоли где я хочу?то придеся лезть в системное программирование. и в Linix и Windosw
Console.WriteLine()
не соизмеримо проще. и в реализации. и в использовании SpeechRecogitionEngine sre = // буковку n пропустили
var sre =
ru-RU
это спелчекер а не компиляторfullunpack --keep "C:\alldata\alldata.bin" zlib nY/RHn+XH8T77 64VS крутой инструмент, в дебагере оказалось легко заметить, что кодаков всего два. точнее 3 варианта параметра
zlib это кодек
nY/RHn+XH8T77 это sid
64 это длина ключа
пока что валимся на кодеке, за все остальное не известно
zlib, zstd, zstandard
, но 2 из них синонимыfullunpack --keep "C:\alldata\alldata.bin" zstd nY/RHn+XH8T77 64
zstandard.net
кросс платформенная, но использует сторонние бинарные libzstd.dll
, которые различны для x86 и x64, по этому копируются в выходной каталог приложения в подпапки. надо скопировать нужную (по разрядности операционки) в выходной каталог приложения как скрыть или передать аргументы запуска уже в запущенной clientProcess приложение?ни как
мне тут подсказали, что нужно перехватить stdin запущенного процесса
упорство и труд, все перетрут.. если сильно захотите)
На счет C# очень много противоречия, между старой Form и WPF, какую использовать
foreach
ни сама коллекция (лист, массив, перечисление, не важно) ни ее элементы, не подлежат изменению. только чтение. это правило языка C# (но за Mono не отвечаю)for
обходите коллекцию с конца, а не сначала, таким образом не будет проблем с индексами (хотя можно и while
использовать для обхода с головы, но на for
думаю быстрее поймете суть). пример for(int i = Group.Count - 1; i >= 0; i--)
{
Destroy(list[i]);
list.RemoveAt(i); // о размере списка не заморачиваемся вообще
}
Group.RemoveAll(tmp => tmp is MissingReferenceException);
// хотя надо проверить совместимость
while
это примерно такvar i = 0;
while (i < Group.Count)
if (Group[i] is MissingReferenceException)
{
Destroy(Group[i]);
Group.RemoveAt(i);
}
else
i++;
for
приктически так же выглядитfor (var i = 0; i < Group.Count;) // да да, инкримент просто не пишем и получается аналог while
if (Group[i] is MissingReferenceException)
{
Destroy(Group[i]);
Group.RemoveAt(i);
}
else
i++;
form
и отображаете как диалог. модально кстати, а не модельно.. если слово смущает, просто нагуглите модальное окно ))var frm = this.Owner;
избавляет от незнания переменной, указывающей на экземпляр класса. но именно тут и возникает ваша проблемаfrmLScheta
) поля форм нужных типов (допустим frmSprStreet SprStreet
). и пользоваться ими вместо локальных переменных. получится что то вродеvar frm = (this.Owner as frmLScheta).SprStreet;
Ничего не понялвыходит лукавите. поняли, но не очень удачно. при этом удаляете свой камент. да еще и медальку вешаете себе - тройное лукавство. фу
char[] m = default;
// что означает вообще null
// где то чем то заполняем m
var m2 = m.Distinct();
// m2 будет иметь тип IEnumerable<char> и содержать только уникальные элементы
// если нужен массив, тогда так
var m2 = m.Distinct().ToArray();
// если нужен лист, тогда так
var m2 = m.Distinct().ToList();
// исходный m тоже может быть и List и IEnumerable, будет работать для любого варианта
может тебе дать еще ключ? .. от квартиры.. где деньги лежат..(с)
public Picture Filtration(Picture picture)
вы принимаете экземпляр картинки по ссылке (ибо это экземпляр класса, не какой то там int)