Wie kann man c# code in einer Variable speichern?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

😊 Alles klar. Du musst alle Anführungszeichen des Textes selber verdoppeln, ansonsten beendest du ja den String dort jeweils und öffnest einen neuen.


oOKiroO 
Fragesteller
 28.06.2022, 20:49

Ooh alles klar, dann hab ich mal wieder viel zu kompliziert gedacht haha

Ich bin dennoch gerade noch ein bisschen lost, was genau meinst du mit verdoppeln?

Danke!

0
pcjobnet  29.06.2022, 08:09
@oOKiroO

Normaler String:

string meinevariable @"test" ;

String, der Anführungszeichen enthält:

string meinevarable @"dieser text ist in ""anführungszeichen"" geschrieben";
0
oOKiroO 
Fragesteller
 29.06.2022, 18:15
@pcjobnet

ah ok, danke! Dann gibt es also echt keine Möglichkeit, das mit einem Text aus dem user input zu machen? Also heißt x beliebigen code als user input (Console.Read()) eingeben bzw. einfügen.. Der Text müsste ja in diesem Fall nach meinem Verständnis noch vor dem speichern in einer Variable, mithilfe von doppelten Anführungszeichen 'formatiert' werden.. Ich weiß, dass man den Input überprüfen kann, aber das reicht ja leider nicht aus. Gibt es irgendeine Möglichkeit, den user input direkt zu manipulieren bzw aufgrund nicht gegebener Kompatibilität zu korrigieren?

0
oOKiroO 
Fragesteller
 30.06.2022, 09:15
@pcjobnet

danke danke! Bin noch nicht so erfahren, sry xd

0
pcjobnet  30.06.2022, 12:28
@oOKiroO

Dann empfehle ich dir dringend einen Kurs, ein gutes Lernbuch oder dergleichen, als dir Bruchstücke hier anzueignen. Ohne solide Grundlagen kommst du nicht weiter.

0
oOKiroO 
Fragesteller
 24.07.2022, 19:18
@pcjobnet

Oh Grundlagen passen sogar, sind nur immer spezifische errors an denen ich mich wegen fehlendem Wissen aufhalte. Kurs mach ich auch, keine Sorgen, danke für die Bedenken though

0

C# Code in einem String gibt keinen Error. Das wird als Text, nicht als Code interpretiert. Damit es als Code interpretiert wird, musst du es evaluieren (eval). Ohne das, passiert nichts. Code wird nur als Text erkannt


oOKiroO 
Fragesteller
 23.06.2022, 09:52

hm ok danke, dachte ich auch eigentlich. Warum gibt der folgende code dann ein error? (etwas verwirrend formatiert durch copy paste, string soll allerdings bis zum Ende gehen)

string input_txt = @"//using class in code

using System;

namespace EncryptStringSample

{

  class Program

  {

    static void Main(string[] args)

    {

      Console.WriteLine("Please enter a password to use:");

      string password = Console.ReadLine();

      Console.WriteLine("Please enter a string to encrypt:");

      string plaintext = Console.ReadLine();

      Console.WriteLine("");

      Console.WriteLine("Your encrypted string is:");

      string encryptedstring = StringCipher.Encrypt(plaintext, password);

      Console.WriteLine(encryptedstring);

      Console.WriteLine("");

      Console.WriteLine("Your decrypted string is:");

      string decryptedstring = StringCipher.Decrypt(encryptedstring, password);

      Console.WriteLine(decryptedstring);

      Console.WriteLine("");

      Console.WriteLine("Press any key to exit...");

      Console.ReadLine();

    }

  }

}";

0
FaTech  23.06.2022, 11:34
@oOKiroO

Die Anführungszeichen müssen escaped werden und das könnte dann zu einem Konflikt mit @ kommen, wenn ich das gerade richtig beurteile

0

Also ... wenn du einfach Text speicherst und wieder ausgibst, dann spielt es keine Rolle, was da drin steht. Dann müssten wir mal schauen, wie dein Code aussieht, warum es Errors gibt.

Das andere wäre dann CodeDom, wenn du Code zur Laufzeit generierst und ausführen lässt.


oOKiroO 
Fragesteller
 28.06.2022, 07:45

Ah alles klar, danke!
Errors sind folgende:

prog.cs(19,31): error CS1525: Unexpected symbol `Please'
prog.cs(19,66): error CS1010: Newline in constant
prog.cs(39,4): error CS1010: Newline in constant
Compilation failed: 3 error(s), 0 warnings

Beziehen sich also alle auf die Zeilen mit dem String.

0