Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# 8.0 में Async Streams क्या हैं?

C# 8.0 ने async streams पेश किए, जो डेटा के स्ट्रीमिंग स्रोत को मॉडल करते हैं। डेटा स्ट्रीम्स अक्सर तत्वों को असिंक्रोनस रूप से पुनर्प्राप्त या उत्पन्न करते हैं।

मुख्य विशेषताएं

  • async मॉडिफायर के साथ घोषित मेथड में yield return का उपयोग करके तत्व उत्पन्न किए जा सकते हैं।
  • रिटर्न टाइप IAsyncEnumerable<T> होता है।
  • await foreach लूप का उपयोग करके async stream का उपभोग किया जाता है।

सिंटैक्स तुलना

पारंपरिक IEnumerable (सिंक्रोनस)

static IEnumerable<string> Message() {
    yield return "Hello!";
    yield return "Hello!";
}

Async Stream (IAsyncEnumerable)

static async IAsyncEnumerable<string> MessageAsync() {
    await Task.Delay(2000);
    yield return "Hello!";
    await Task.Delay(2000);
    yield return "Hello!";
}

उपयोग उदाहरण

class Program {
    public static async Task Main() {
        await foreach (var item in MessageAsync()) {
            System.Console.WriteLine(item);
        }
        Console.ReadLine();
    }

    static async IAsyncEnumerable<string> MessageAsync() {
        await Task.Delay(2000);
        yield return "Hello!";
        await Task.Delay(2000);
        yield return "Hello!";
    }
}

आउटपुट

Hello!
Hello!

उपयोग के मामले

  • डेटाबेस से बड़ी मात्रा में डेटा स्ट्रीमिंग
  • बड़ी फाइलों को चंक में पढ़ना
  • रियल-टाइम डेटा फीड्स
  • पेजिनेटेड API रिस्पॉन्स प्रोसेसिंग
  1. - C# में String Literals क्या हैं?

    C# में स्ट्रिंग लिटरल्स स्ट्रिंग लिटरल्स वे स्थिर मान होते हैं जो टेक्स्ट (शून्य या अधिक कैरेक्टर्स का अनुक्रम) को दर्शाते हैं। C# में ये दो रूपों में लिखे जा सकते हैं: 1. रेगुलर (क्वोटेड) स्ट्रिंग लिटरल्स डबल कोट्स में संलग्न। इनमें एस्केप सीक्वेंसेज का उपयोग होता है। Hello, World! Line 1\nLine 2

  1. - C# में नेमस्पेसेस क्या हैं

    नेमस्पेस नामों के एक सेट को दूसरे से अलग रखने का एक तरीका प्रदान करने के लिए है। नेमस्पेस डेफिनिशन namespace कीवर्ड से शुरू होती है जिसके बाद नेमस्पेस नाम आता है - namespace namespace_name { // code declarations } नेमस्पेस डिफाइन करें - namespace namespace_name { // code declarations } निम्न

  1. - Python में विभिन्न प्रकार के कोट्स क्या हैं?

    कोटेशन सिंबल्स Python में स्ट्रिंग ऑब्जेक्ट बनाने के लिए उपयोग किए जाते हैं। Python सिंगल, डबल और ट्रिपल कोटेड स्ट्रिंग्स को पहचानता है। स्ट्रिंग लिटरल्स को कैरेक्टर्स के अनुक्रम को सिंगल कोट्स (`hello`), डबल कोट्स (`hello`) या ट्रिपल कोट्स (`hello` या `hello`) में घेरकर लिखा जाता है। >>>