Die folgende Tabelle kennst du schon? https://learn.microsoft.com/en-us/partner-center/membership/partner-success-core-benefits#benefits
Es sieht so aus, als ob du direkt mit dem resx Dateien in einem Programm arbeiten willst. Dann musst du vermutlich folgende Dokumentation befolgen:
https://learn.microsoft.com/en-us/dotnet/core/extensions/work-with-resx-files-programmatically
Davon würde ich dir aber abraten. Für deinen "einfachen" Fall kannst du es so machen:
Wenn du mit Visual Studio oder Jetbrains Rider arbeitest, musst du im Grunde nur die Resx-Dateien erstellen und füllen. Andere IDEs können das bestimmt auch, damit hab ich aber keine Erfahrung. Man kann das ganze natürlich auch alles manuell (ohne IDE) machen, in dem man die jeweiligen Tools selbst ausführt.
Die IDE erstellt dir dann automatisch C#-Dateien und bindet diese beim kompilieren mit ein. In deinem Code kannst du dann sehr einfach mit <RootNamespaceDeinesProjekts>.<ResourceDateiName>.<StringNameInDerResx>
auf deine Texte zugreifen. Die Sprache kannst du ändern, in dem du CultureInfo.CurrentUICulture
änderst.
Beispiel:
using System.Globalization;
while (true)
{
Console.WriteLine("Type culture code:");
string input = Console.ReadLine();
CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo(input);
Console.WriteLine("> " + LocalizationDemo.MyStrings.HelloWorld);
}
Type culture code:
de-de
> Hallo Welt
Type culture code:
en-us
> Hello World
Type culture code:
es-es
> Hola Mundo
Die resx-Dateien bei mir heißen:
den generierten Code kannst du auch öffnen und dir anschauen, wie das funktioniert.
PS: Ich habe gerade diesen (https://github.com/ycanardeau/ResXGenerator) Source Generator ausprobiert und der macht potentiell das Gleiche wie die Tools, die von den IDEs aufgerufen werden.
Zumindest erwähnen sollte man das Crossposting. Wenn jemand mit ähnlichem Problem dein Forenbeitrag findet, dann kann derjenige zumindest die anderen Crossposts nach weiteren Lösungen/Ideen durchsuchen.
Noch schöner wäre es natürlich, wenn die Lösung am Ende dann auch hier und in allen anderen Crossposts mitgeteilt wird.
Oder in den Markdown Modus wechseln und dort weiterschreiben.
Zitat von Th69
Deine letzte Schleife überprüft aber nur, ob die Zahl 3 dreimal vorkommt, denn
wuerfelCheck.Contains(3)
ermittelt, ob die Zahl 3 im Array enthalten ist und die AbfragewuerfelCheck[i] == 3 && check == true
kann also dann nur erfüllt werden, wenni
den Wert3
hat.
Ich glaube du verwechselst wuerfelCheck
und wuerfel
. Hat mich aber auch etwas Zeit gekostet das zu verstehen.
In wuerfelCheck
wird die Anzahl wie oft die Zahl (der Index) gewürfelt wurde gespeichert. Mit dem Contains
wird also geprüft, ob irgendein/e Zahl/Index genau 3 mal in wuerfel
vorkommt. Anschließend geht die Schleife wuerfelCheck
durch und sucht den Eintrag, der 3 mal vorgekommen ist.
Wenn du das Ergebnis nicht auf dem Heap speichern musst, kannst du das Array auch mit stackalloc anlegen:
ReadOnlySpan<char> toSplit = "Hallo Welt";
Span<Range> ranges = stackalloc Range[2];
var count = toSplit.Split(ranges, ' ');
Ich würde dir raten auf https://learn.microsoft.com/de-de/dotnet/api/system.net.sockets.udpclient.receiveasync?view=net-8.0 umzustellen, damit der Thread nicht mehr blockiert wird.
Du erzeugst eine neue Form (eine neue Instanz) mit new Form1();
Wenn du die Methode Ausgabe
in der bereits existierende Form aufrufen möchtest, muss du die Referenz auf diese in der Methode oder im Konstruktor mitgeben.
In der Methode:
public void TEST(Form1 form1)
{
form1.Ausgabe();
}
Aufruf:
ClassTagAuslieferung NeuerTag = new ClassTagAuslieferung();
NeuerTag.TEST(this);
Ja mit Notepad++ (notepad plus plus) kann man auch in allen Dateien in einem Verzeichnis suchen und ersetzen. Es können auch Filter für die Dateien gesetzt werden und viel mehr.
Links (solange es keine Werbung, Spam oder Malware ist) sollten erlaubt sein.