Was ist der Unterschied zwischen const und readonly in C#?
Hallo zusammen! Ich bin neu in C# und verwechsle ständig die Schlüsselwörter `const` und `readonly`. Anscheinend machen beide den Wert unveränderlich, aber ich habe das Gefühl, dass das nicht ganz stimmt.
Ich habe diesen Code:
```csharp
public class MyClass
{
public const int MaxAttempts = 5;
public readonly string ConnectionString = "localhost";
public void Test()
{
// MaxAttempts = 10; // Fehler - const kann nicht geändert werden
// ConnectionString = "new"; // Fehler - readonly kann nicht geändert werden
}
}
```
Beide Felder können nach der Initialisierung nicht geändert werden. Aber worin liegt dann der Unterschied? Ich habe gehört, dass `const` zur Compile-Zeit arbeitet und `readonly` zur Runtime. Was bedeutet das in der Praxis? Wann sollte ich `const` und wann `readonly` verwenden? Und warum kann ich die Initialisierung