Statische Interface Member?

Hallo,

Ich habe mal einwenig im Code der .NET-Standart Bibliothek gestöbert und bin dabei auf dieses Interface gestoßen

//
// Zusammenfassung:
//     Defines a mechanism for parsing a string to a value.
//
// Typparameter:
//   TSelf:
//     The type that implements this interface.
public interface IParsable<TSelf> where TSelf : IParsable<TSelf>?
{
    //
    // Zusammenfassung:
    //     Parses a string into a value.
    //
    // Parameter:
    //   s:
    //     The string to parse.
    //
    //   provider:
    //     An object that provides culture-specific formatting information about s.
    //
    // Rückgabewerte:
    //     The result of parsing s.
    //
    // Ausnahmen:
    //   T:System.ArgumentNullException:
    //     s is null.
    //
    //   T:System.FormatException:
    //     s is not in the correct format.
    //
    //   T:System.OverflowException:
    //     s is not representable by TSelf.
    static abstract TSelf Parse(string s, IFormatProvider? provider);
    //
    // Zusammenfassung:
    //     Tries to parse a string into a value.
    //
    // Parameter:
    //   s:
    //     The string to parse.
    //
    //   provider:
    //     An object that provides culture-specific formatting information about s.
    //
    //   result:
    //     When this method returns, contains the result of successfully parsing s or an
    //     undefined value on failure.
    //
    // Rückgabewerte:
    //     true if s was successfully parsed; otherwise, false.
    static abstract bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, [MaybeNullWhen(false)] out TSelf result);
}

Kommt es nur mir so vor oder kommt es euch auch einfach falsch vor das ein Interface statische und abstrakte Member vorschreibt und dazu noch das der abstrakte Member statisch ist (Wenn ich versuche einen statischen Member einer Klasse als abstrakt zu deklarieren kommt ein Compilerfehler).

Falls jemand eine Idee hat wozu das gut sein kann, dann bitte eine Antwort schreiben.

C Sharp, dotNet, Programmiersprache
Warum ist C# ziemlich gewöhnungsbedüftnigt?

Hallo, ich lerne in der Schule C# und verstehe es immer noch nicht wirklich nach 3 Jahren. Im Unterricht sind sowieso nur wenige bei mir wirklich gut mit der Sprache vertraut und werden auch bei diesen Fach logischerweise maturieren.

Die anderen sehen ein Grund nach der Matura niemals etwas mit Programmieren zu tun zu haben im Studium. Ich denke noch nach, da ich nach der Matura wahrscheinlich ein andere Sprache lernen möchte wie Python (habe zum Glück Zeit wegen Zivildienst), da die Sprache zu C# ähnlich aber etwas einfacher ist. Jedoch habe ich von einem Professor erzählt bekommen, dass wenn man Programmieren studieren möchte, dass man überall positiv sein muss (sonst schafft man das Semester und Studium nicht) und die Tests daraus bestehen, mit einem Schreiber und Papier ein Programm zu schreiben.

Wir verwenden dort Visual Studio 2019 oder 2022 und machen zurzeit Windows Forms mit ADO.NET und GDI. Wir haben auch Basics, Objektorientiertes Programmieren und Algorithmen gelernt, aber die Aufgaben, die wir bekommen haben, haben wir nie schnell verstanden und der Professor will die Aufgabe so schnell wie möglich fertig haben.

Ich merke auch besonders, dass man hier kein Programmieren lernt, sondern dass man sich den Stoff hineinhämmert und die Mitarbeit ist der Person nicht wichtig, sondern nur die Testnote zählt, wo man erlaubt wird, dass man alle Programmier Aufgaben auf eine Mappe ausdrucken darf.

Ich finde das auch schade, weil ich würde schon gerne Sachen programmieren können und vor Dezember 2022 hätte ich auch das Programmieren fast aufgegeben.

Schule, Programmierer, programmieren, C Sharp, Programmiersprache, Visual Studio
Welche Programmiersprache als Quereinsteiger für das Berufsleben?

Hallo,

Die Frage hier geht explizit an Programmierer, die idealerweise schon ein Job haben.

ich wollte fragen welche Programmiersprache gut als Quereinsteiger geeignet ist um in das Berufsleben durchzustarten.

Ich beherrsche mittlerweile etwas von Phyton und SQL.

Es gibt ja YouTuber oder Webseiten die dir versprechen in einigen Monaten in deren Kurs schon eine Arbeitsstelle zu finden, natürlich gegen Bezahlung.

Aber ich will es eigenständig schaffen, deshalb meine Frage:

Welche Programmiersprache ist gut geeignet um in kurzer Zeit ein Job auszuüben. Natürlich wird man in diesem kurzem Zeitraum nicht das ganze Know How wissen aber man sollte sich im Job weiterentwickeln. Natürlich weiß ich das ich dann nicht viel Geld bekommen werde.

Und mit welcher Programmiersprache sollte man im welchem Beruf einsteigen (z.B bei SQL kann man Daten Analyst werden.) Also was könnt ihr empfehlen.

Und kennt Ihr auch gute bücher oder YT kanäle?

Und was hattet Ihr schon für Erfahrungen im ersten Job, was war die erste Programmiersprache mit der Ihr euch beworben habt und wie war der Anfang als ihr gelernt hattet und der erste Tag als Programmierer im Job? Habt ihr Tipps an mich?

Zum Schluss noch: Bitte keine Unnötigen Kommentare abgegeben. Ich weiß es ist Zeitaufwendig, aber ich möchte denn Willen durchsetzen. Ich bin auch kein Scriptkiddi, ich will's wirklich erlernen. Ich antworte auch gerne auf eure Kommentare.

PC, Beruf, Lernen, Google, Job, Amazon, SQL, HTML, IT, Webseite, Java, JavaScript, C Sharp, Entwickler, Entwicklung, Programmiersprache, Python, Quereinsteiger, Laptop
C# oder Java für Desktop Anwendungen?

Ich höre immer wie Toll .net sein soll und Blazor aber ich bin schon Webentwickler und mir ist das vollkommen egal. Will etwas anderes machen.
Wenn ich eine Web App will nutze ich Dinge wie React, Next, Node, Php usw.

Jetzt ist es aber so nur für Desktopanwendungen mit Oberfläche oder ohne das Java wahrscheinlich deutlich mehr Verwendung hat, beliebter ist => mehr jobs für mich, viele verschiedene bereiche , mehr Ressourcen zum lernen und auch plattformunabhängiger ist als c#.

Soweit ich weiss hatte microsoft versucht es nur auf windows zu beschränken.

Java ist nicht viel langsamer als C# so steht es zumindest im Internet.

Java wird in Bytecode übersetzt und C# in CLR. C++ dagegen wäre in Maschinencode und ist wenn man assembly zeug weglässt am performantesten.

Java oder Kotlin ist der Standart in der Android entwicklung (könnte man aber auch React Native nutzen und ich habe sowieso kein Android Smartphone)

Ausserdem gefällt mir auch nicht wem diese sprachen gehören microsoft und oracle. Das spielt keine grosse rolle für mich aber kann sich schlecht entwickeln

Ich hab da irgendwas auch mitbekommen das Oracle firmen probleme macht ich nehme an die Java Jdk kostenlos ist und eine SE kostet ? Hab ich nur mal gelesen weiss nicht ob es stimmt.

Mit c# könnte man theoretisch besser kleinere spiele machen aber das ist auch nichts für mich und wenn würde ich gleich c++ lernen.

App, IT, Java, C Sharp, Informatik, Programmiersprache, sdk, UI, GUI
C# Twitch Bedges auslesen?

Hallo, ich wollte in C# einen Twitch Bot porgrammieren, aber die auslesung funktioniert nicht. Falls sich das jemand mal anschauen kann, hier ist der Code:

using System;
using System.Linq;
using System.Text;
using Twitch_IRC;
namespace Twitch_IRC
{
public class irc_globaluserstate
{
public bool IsMod { get; private set; } = false;
public bool IsBroadcaster { get; private set; } = false;
public bool IsVip { get; private set; } = false;
public List<string> BadgesRaw { get; }
private string rawdata { get; }
public irc_globaluserstate(string rawdata)
{
this.rawdata = rawdata;
string[] tags = rawdata.Split(' ')[0].Remove(0, 1).Split(';');
foreach (string tag in tags)
{
string[] splittag = tag.Split('=');
if (splittag.Length >= 2)
switch (splittag[0].ToLower())
{
case "badges":
BadgesRaw = splittag[1].Split(',').ToList();
foreach (string badgeraw in BadgesRaw)
{
string badge = badgeraw.Split('/')[0];
switch (badge)
{
case "broadcaster":
IsBroadcaster = true;
Program.IsUserBroadcaster = true;
Console.WriteLine("Broadcaster");
break;
case "moderator":
IsMod = true;
Program.IsUserModerator = true;
Console.WriteLine("Moderator");
break;
case "subscriber":
break;
case "vip":
IsVip = true;
Program.IsUserVip = true;
Console.WriteLine("Vip");
break;
case "premium":
break;
}
}
break;
}
}
}
}
internal class Program
{
public static bool IsUserBroadcaster = false;
public static bool IsUserModerator = false;
public static bool IsUserVip = false;
//Main
static void Main(string[] args)
{
IRC_Controller.MessageRecieved += new Program().KeksCommand;
IRC_Controller.MessageRecieved += new Program().shoutoutCommand;
IRC_Controller controller = new IRC_Controller("gg265_Bot", "____", "gg265_live");
}
public static EventHandler<MessageSentArgs> MessageSent;
protected virtual void OnMessageSent(string message)
{
MessageSent?.Invoke(this, new MessageSentArgs(message));
}
//!Kekse
public void KeksCommand(object source, MessageRecievedArgs args)
{
if (args.message.Split(' ')[0].ToLower() == "!kekse")
OnMessageSent($"/me gibt @{args.username} 4 Kekse.");
}
//!shoutout <user>
public void shoutoutCommand(object source, MessageRecievedArgs args)
{
if (args.message.Split(' ')[0].ToLower() == "!shoutout")
{
Console.WriteLine(IsUserBroadcaster);
Console.WriteLine(IsUserModerator);
Console.WriteLine(IsUserVip);
if (IsUserBroadcaster || IsUserModerator || IsUserVip)
{
OnMessageSent($"/me SHOUTOUT AN @{args.message.Split(' ')[1]}!!");
}
}
}
}
class MessageSentArgs
{
public string message { get; }
public MessageSentArgs(string message)
{
this.message = message;
}
}
}

LG gg265

C Sharp, Code, Visual Studio
Was ist bei meinem C# Code falsch?
using System;
namespace NeuArray
{
  class Programm
  {
    static void Main()
    {
      string[,] products = new string[2, 5];
      products[0, 0] = "Senf";
      products[1, 0] = "1.99 Euro";
      products[0, 1] = "Smartphone";
      products[1, 1] = "Preis: 1299 Euro";
      products[0, 2] = "Schokolade";
      products[1, 2] = "2.99 Euro";
      products[0, 3] = "Obst";
      products[1, 3] = "1.49 Euro";
      products[0, 4] = "Couch";
      products[1, 4] = "499 Euro";
    Start:
      Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
      int Spalte = Convert.ToInt32(Console.ReadLine());
      if (Spalte < 0 || Spalte > 5)
      {
        Console.WriteLine("Diese Spalte existiert nicht. ");
        goto Start;
      }
      Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
      Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
      int Abfrage = Convert.ToInt32(Console.ReadLine());
      switch (Abfrage)
      {
        case 1:
          Console.WriteLine(products[1, Spalte]);
          break;
        case 2:
           
          Abfrage2:
            Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
            int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
            if ((AbfrageProduktNeu == 1))
            {
              goto Start;
            }
            else if (AbfrageProduktNeu == 2)
            {
              Console.WriteLine("Programm beendet.");
            }
            else
            {
              Console.WriteLine("Ungültige Eingabe.");
              goto Abfrage2;
            }
            break;    
      }
    }
  }
}

Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".

Könnt ihr mir helfen bitte?

Software, App, programmieren, C Sharp, Code, Programmiersprache, Visual Studio
Rechnungsproblem C# -> Python Verknüpfung?

Hallo,

ich habe folgendes Problem:

Ich habe ein ERP-Programm in C# geschrieben. Dieses funktioniert auch einwandfrei. In der Auftragsverwaltungsübersicht habe ich zwei Buttons hinzugefügt: Einmal Rechnung erstellen und einmal Angebot erstellen.

Wenn ich den Knopf Rechnung erstellen klicke, wird ein Python-Code aufgerufen, welcher die Rechnung mit den Daten automatisch erstellt.

Er zeigt immer an, Rechnung erfolgreich erstellt, allerdings erstellt er keine Rechnung bzw. er speichert keine Rechnung ab. Woran könnte das Problem denn liegen?

Hier die Methode, welche aufgerufen wird, wenn ich auf Rechnung erstellen klicke:

private void CreateInvoice(DataGridViewRow row)
{
  try
  {
    var invoiceData = new
    {
      provider_name = "Media Soft",
      provider_address = "Bahnhofstraße 40, 66639 Beispiel",
      provider_mobile = "0174 | 623 655 9",
      provider_email = "klasenjulian@web.de",
      customer_name = $"{row.Cells["Vorname"].Value} {row.Cells["Nachname"].Value}",
      customer_address_line1 = $"{row.Cells["Adresse"].Value}",
      customer_address_line2 = $"{row.Cells["PLZ"].Value} {row.Cells["Ort"].Value}",
      customer_mobile = "",
      date = DateTime.Now.ToString("dd.MM.yyyy"),
      invoice_number = row.Cells["AuftragID"].Value.ToString(),
      customer_number = "Ihre Kundennummer",
      items = new[] {
        new {
          title = row.Cells["Artikelname"].Value.ToString(),
          description = "",
          price = Convert.ToDouble(row.Cells["Einzelpreis"].Value),
          total = Convert.ToDouble(row.Cells["Gesamtpreis"].Value)
        }
      },
      total = Convert.ToDouble(row.Cells["Gesamtpreis"].Value)
    };

    string json = JsonConvert.SerializeObject(invoiceData);
    File.WriteAllText(@"C:\Projekte\rechnung\invoice_data.json", json);

    ProcessStartInfo start = new ProcessStartInfo();
    start.FileName = "python.exe";
    start.Arguments = string.Format("{0} {1}", @"C:\Projekte\rechnung\rechnung.py", @"C:\Projekte\rechnung\invoice_data.json");
    start.UseShellExecute = false;
    start.RedirectStandardOutput = true;
    start.RedirectStandardError = true;

    using (Process process = Process.Start(start))
    {
      using (StreamReader reader = process.StandardOutput)
      {
        string stderr = process.StandardError.ReadToEnd();
        string result = reader.ReadToEnd();

        if (string.IsNullOrEmpty(stderr))
        {
          MessageBox.Show("Rechnung erfolgreich erstellt!");
        }
        else
        {
          MessageBox.Show("Fehler beim Erstellen der Rechnung:\n" + stderr);
        }
      }
    }
  }
  catch (Exception ex)
  {
    MessageBox.Show("Fehler beim Erstellung der Rechung: " + ex.Message);
  }
}

Hier der Python-Code:

  • Rechnung - Pastebin.com

Hier die Python-Daten:

  • Daten zur Projektmappe
  • Name: rechnung
  • Pfad: C:\Projekte\rechnung\rechnung.sln
  • Startprojekt: rechnung

Daten zur Projekteigenschaft:

Allgemein:

  • Arbeitsverzeichnis: .
  • Startdatei: C:\Projekte\rechnung\rechnung.py

Sonstiges:

  • Projektdatei: rechnung.pyproj
  • Projektordner: C:\Projekte\rechnung
  • Projektstartseite: C:\Projekte\rechnung
C Sharp, Programmiersprache, Python, Visual Studio
Tipps: Ideale Firmengröße und -bereich für angenhemen IT Job?

Hi!

Ich fange bald an als ITler zu Arbeiten und hätte mehrere Angebote:
- C# Entwickler in kleiner wie auch großer Firma
- C# Entwickler + ASP und Typescript in mittelgroßer Firma mit Option später auf Projektmanagement oder Consulting
- Python Entwickler im Bereich NLP/ML

Das Studium war hart. Ständig nebenbei gejobbt, nie genug Geld, kein Bafög bekommen, etc. Habe Erfahrung gesammelt und ein bisschen Skills zu bieten. An Angeboten fehlt es nicht.

Was ich will:

  • idealerweise wäre es für mich, wenn ich eine klare Aufgabe habe und so für mich daran arbeiten kann (darf ruhig Fullstack sein; erstelle gerne GUIs aber tüftle gerne auch an Algorithmen) und angenehme Arbeitswese (nicht übel viel Stress, aber auch keine Langeweile); Abwechslung wäre auch sehr gut (langatmige Projekte deprimieren und demotivieren mich)
  • ich kann mir auf Dauer auch vorstellen, zB nach 2-3 Jahren den Bereich oder die Tätigkeit zu wechseln (Consulting, IT-Beratung, irgendwas mit Kundenterminen, etc). Ich war vor dem Studium auch mal im Außendienst. Bin zwar n ruhiger Typ und kein typischer Drücker-Verkäufer, allerdings liebe ich es rumzukommen, auch mal Kontakt zu Menschen zu haben und nicht den ganzen Tag am Scheibtisch gefesselt zu sein.
  • große Konzerne wo man für jede kleine Aufgabe eine Genehmigung braucht und den ganzen Tag fast nur Zeit totschlägt und Alibi-Arbeit macht will ich auf keinen Fall (hatte ich bisher genug)
  • die täglichen langweilligen Meetings in großer Runde wo man Kamera anmachen muss stressen mich übel, aber na ja, wenn's sein muss.

Ich hätte ein Angebot von einer kleinen Firma, wo ich viele Aufgaben übernehmen kann, was durchaus interessant wäre, aber leider liegt das in einer Stadt wo die Mieten sehr teuer sind und ich ungern dahin will.

In einer anderen Stadt wo die Mieten gut sind, hätte ich ein Angebot für C# in einer großen Firma (laut Kununu viel überstunden und klassisch patriarchalisch aufgebaut, wo man gesagt bekommt vom Chef was genau zu tun ist und man sich fügen muss und durchbeißen muss; dafür gutes Geld und viele Benefits) oder für Python Entwickler in einer mittelgroßen Firma (schlechtere Bezahlung aber bessere WorkLife Balance).

Für die Python/ML Stelle fühle ich mich aktuell garnicht so wirklich qualifiziert (da kein Doktor oder Master in dem Bereich vorhanden). Außerdem wäre es eine Einschränkung im Lebenslauf, da Python Entwickler aktuell seltener gefragt sind als C# Entwickler.

So ganz ideal ist bisher kein Angebot, aber es sollte zumindest kein totaler Reinfall sein.

Falls es hier ITler gibt, rein vom Bauchgefühl her, wozu würdet ihr mir raten?

C Sharp, künstliche Intelligenz, Programmiersprache, Python, Softwareentwickler, Softwareentwicklung, ml, .net-Framework, Software-Entwickler, maschinelles Lernen
Wie kann ich in Unity 3D die Position speichern und wieder Aufrufen?

Hallo, ich bin 15 benutze die Engine "Unity" seit ungefähr 2einhalb Jahren. Ich habe vor einigen Wochen ein Projekt gestartet, wo es darum geht, durch einen Trigger zu gehen wie ein Portal und dann auf verschiedenen Planeten zu landen und diese zu Erkunden. Kurz gesagt geht es um die Erkundung von Planeten. Jeder Planet hat eine eigene Szene und ich benutze DontDestroyOnLoad damit z.B. In Game Optionen gespeichert werden bzw. Nicht zerstört werden, wenn man die Szene wechselt. Nun habe ich aber vor das wenn man das Spiel verlässt, und wieder das Spiel startet man nicht von vorne beginnen muss und wieder im Hauptmenü landet sondern dort weiter machen kann wo man aufgehört hat. Das sozusagen die Position gespeichert wird und man sofort im Spiel landet. Aber ich habe keine Ahnung, wie ich das hinbekommen soll. Mir kam da evtl. PlayerPrefs in den Sinn aber die speichern wenn dann auch nur beispielsweise die In Game Optionen wie Grafikeinstellungen oder Sound. Können PlayerPrefs auch die Position speichern und die Szene in der man zuletzt war? Es ist nicht einfach PlayerPrefs, DontDestroyOnLoad usw. Zu verstehen, habe mir auch die ganze Nacht den Kopf drüber zerbrochen. Deswegen versuche ich mein Glück hier und hoffe, dass man mir weiter helfen kann. Freue mich auf alle Antworten!

Spiele, PC, Technik, programmieren, C Sharp, Spieleentwicklung, Unity 3D, Unity

Meistgelesene Fragen zum Thema C Sharp