int i = 1; object obj = i; ++i; Console.WriteLine(i); Console.WriteLine(obj); Console.WriteLine((short)obj);
C#
Wie organisiert man das Warten auf neue Ereignisse, wenn die Warteschlange leer ist, und was ist der Unterschied zwischen Channel und ConcurrentQueue?
Aufgabe: Ereignisse werden von Benutzern empfangen, jedes muss in einer externen Quelle verifiziert werden, aber diese antwortet nicht sofort. Implementieren Sie VerificationService, der: - Ereignisse von Benutzern akzeptiert - versucht, jedes durch Kontaktaufnahme mit einem externen Dienst zu verifizieren - wenn die Antwort PENDING ist, versucht es, dieses Ereignis nicht vor 5 Sekunden erneut zu senden - maximal 3 Versuche, danach wird die Ereignis-ID mit Status FAILED in stdout ausgegeben - erfolgreich verarbeitete Ereignisse werden mit Status VERIFIED in stdout ausgegeben Die Vorlagen und Stubs der externen Abhängigkeiten sind bereits implementiert: 1. VerificationStatus 2. Event 3. VerificationResult 4. IExternalSource public enum VerificationStatus { OK, Pending, Error } public record Event(string Id, string Payload); public record VerificationResult(VerificationStatus Status, string? Message = null); public interface IExternalSource { VerificationResult Verify(string eventId); } public class VerificationService { private readonly IExternalSource _externalSource; private const int MaxAttempts = 3; private static readonly TimeSpan RetryDelay = TimeSpan.FromSeconds(5); public VerificationService(IExternalSource externalSource) { _externalSource = externalSource; } // TODO: implement }
public class A { public virtual void Print1() { System.Console.Write("A"); } public void Print2() { System.Console.Write("A"); } } public class B : A { public override void Print1() { System.Console.Write("B"); } } public class C : B { public new void Print2() { System.Console.Write("C"); } } static void Main(string[] args) { var c = new C(); A a = c; a.Print1(); a.Print2(); c.Print2(); } Was wird in stdout sein?
Liste<Action> Aktionen = new List<Action>(); for (var count = 0; count < 10; count++) { Aktionen.Add(() => System.Console.WriteLine(count)); } foreach (var aktion in Aktionen) { aktion(); } Was wird in stdout sein?
Was passiert, wenn man auf die erste abgeschlossene Aufgabe mit Task.WhenAny wartet, während andere Aufgaben noch laufen?
Was hat die Durchsatzrate des Replikationsdienstes von etwa 300 auf 700 Nachrichten pro Sekunde erhöht? Wie wurden ConcurrentDictionary und SemaphoreSlim verwendet?
public struct S : IDisposable { private bool dispose; public void Dispose() { dispose = true; } public bool GetDispose() { return dispose; } } Was wird in stdout sein?
Was sind die Werte von Sum und Count?
Wie kann man den Grad der Parallelität bei der Verarbeitung eines Satzes asynchroner Aufgaben begrenzen?
[Name] erzählen Sie uns von einer interessanten Aufgabe oder Lösung bei Ihrer aktuellen oder vorherigen Arbeit, die Sie teilen möchten.