C Sharp – die neusten Beiträge

kann man in C# eine Konsolenanwendung für den OSX mahen?

Hallo zusammen

Ich bin in C# VS relativ neu. Habe ein ca. 3500 Zeilen-Programm mit vielen Klassen etc. gemacht. Funktioniert alles super und ist getestet.

Ca. 80% der Consolen-App habe ich auf dem Mac programmiert, 20% auf meinem Windowsrechner. Ich bin also heterogen unterwegs. Soweit so gut.

Eine .exe kann ich problemlos erstellen. Auf Windows auch entsprechend problemlos auszuführen. Wenn ich das auf dem Mac laufen lassen möchte, mache ich:

  • a) die Konsole auf
  • b) navigiere zur ProgrammXY.dll
  • c) gebe dotnet ProgrammXY.dll ein

und das Ding läuft. Nur!!!!!!!!!!!!..... Das möchte ich so nicht!

Ich habe aktuell den Fall, dass meine Schwester (auch Mac-Anwenderin) genau jetzt die App benötigt. Die Löst ein Problem welche sie (und das ist Zufall des Jahrhunderts) hat.

Ich möchte ihr die Consolen-App analog zu Windows auf einem USB-Stick o.ä. übergeben können, sodass sie mit einem einfachen DOPPELKLICK das Ding starten und verwenden kann. Ich möchte keine UI darum herum bauen und ich möchte nicht ins Web damit. Auch soll sie ihren Rechner nicht fit für dotnet machen müssen. Ich will die App auf der Konsole haben. Sowohl auf Mac als auch auf Windows. Genau gleich einfach.

Nun die Frage:
Kann man das überhaupt? ich finde keinerlei sinnvolle Anleitungen oder Antworten. Bei Stackoverflow werde ich angepöbelt und bei MS selber kann ich im DEV-Forum keine Fragen stellen.

Ich möchte nur wissen ob das überhaupt geht damit ich mit der Fragerei und Suche aufhören kann oder andere Wege / Technologien angehen kann.

Grüsse euch und danke schonmal.

Computer, Technik, programmieren, C Sharp, dotNet, Informatik, Softwareentwicklung, Technologie, konsolenanwendung, Visual Studio 2019

C# Exception aus Fire and Forget Task behandeln?

Ich versuche mit Selenium eine Website zu überwachen und damit zu interagieren. Dafür gibt es eine Liste mit Dingen die überwacht werden sollen und eine Liste mit Observern die dafür zur Verfügung stehen. Bei dem überwachen können gelegentlich Fehler auftreten, z.B. wenn Chrome crashed. Dann soll alles neu gestartet werden. So sieht es aktuell aus:

        public async Task Observe(List<string> objectsToObserve, CancellationToken token)
        {
            Exception exception = null;
            var objectsQueue = new Queue<string>(objectsToObserve);
            var observerQueue = new Queue<Observer>(_observers);
            while (true)
            {
                while (!observerQueue.Any())
                {
                    await Task.Delay(10);
                }
                if (exception is not null)
                    throw exception ;
                if (token.IsCancellationRequested)
                    return;
                var objectToObserve = objectsQueue.Dequeue();
                var observer = observerQueue.Dequeue();
                _ = observer.Observe(objectToObserve).ContinueWith(x =>
                {
                    if (x.IsFaulted)
                        exception = x.Exception;
                    objectsQueue.Enqueue(objectToObserve);
                    observerQueue.Enqueue(observer);
                });
            }
        }  

Wenn dieser Task ne Exception wirft, wird neugestartet. Da das observen aber nicht awaitet wird, weil mehrere davon parallel laufen sollen, kann ich die Exception nicht richtig behandeln. Geht das irgendwie besser?

Computer, Schule, programmieren, C Sharp

C# String vergleich ohne Beachtung der Groß- Kleinschreibung?

Hallo, ich habe seit gestern mit dem progammieren von C# angefangen.

Das Programm "Streamer.bot", das man mit Twitch verbinden kann, unterstützt eigene C# Codes und deshalb bin ich darauf gekommen mit dem "programmieren" anzufangen.

Ich habe einen Code erstellt, in dem ein Input (string msg) mit einer Textdatei (string[] blacklist) verglichen wird. In der Textdatei stehen alle Blacklist Wörter.

Nun bin ich auf das Problem gestoßen, dass die Groß- und Kleinschreibung bei dem vergleich beachtet wird und das ist bei einer Blacklist eher nachteilig.

Meine Frage an dieser Stelle ist, wie ich es schaffe, dass die Groß- und Kleinschreibung bei dem vergleich ignoriert wird.

Ich hoffe sehr, dass mir jemand helfen kann,
Liebe Grüße, JuuriiK :)

msg= Input eines users

blacklist= Blacklist txt datei

Im folgenden ist der Code:

using System;
using System.IO;
using System.Linq;


public class CPHInline
{
    public bool Execute()
    {
        string userName = args["userName"].ToString();
		string TOSmsg = args["TOSmsg"].ToString();
        string msg = args["rawInput"].ToString();
        string[] blacklist = File.ReadAllLines(args["blacklistDatei"].ToString());
		string actionName =  args["actionName"].ToString();
        if (blacklist.Equals(msg))
        {
            CPH.TimeoutUser(args["user"].ToString(), 30);
            CPH.SendMessage(TOSmsg);
        }
        else
        {
            CPH.RunAction(actionName);
        }


        return true;
    }
}
Computer, Vergleich, Programmierer, programmieren, C Sharp, Programmiersprache, String

Meistgelesene Beiträge zum Thema C Sharp