Spectre.Console C# (.NET): पूरी गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Spectre.Console C# (.NET) के लिए: पूरी गाइड

Spectre.Console एक शक्तिशाली .NET लाइब्रेरी है जो सामान्य कंसोल आउटपुट को आकर्षक और इंटरैक्टिव बनाती है। यह C# डेवलपर्स को कम प्रयास में सुंदर, संरचित और जानकारीपूर्ण कमांड-लाइन इंटरफेस (CLI) बनाने की अनुमति देती है। उबाऊ मोनोक्रोम टेक्स्ट के बजाय, आपको रंगों, टेबल, ट्री, प्रोग्रेस बार, चार्ट और यहां तक कि इंटरैक्टिव प्रॉम्प्ट का समर्थन मिलता है।

Spectre.Console की आवश्यकता क्यों है? आधुनिक डेवलपमेंट में, कंसोल ऐप्स का उपयोग अक्सर DevOps टूल्स, ऑटोमेशन स्क्रिप्ट, डेटा एनालिसिस और यूटिलिटीज के लिए किया जाता है। उपयोगकर्ता उनसे न केवल कार्यक्षमता बल्कि सुविधा की भी उम्मीद करते हैं। Spectre.Console 'बेयर' आउटपुट की समस्या को हल करती है, जिससे लॉग समझने योग्य और ऐप के साथ इंटरैक्शन सुखद हो जाता है। यह पेशेवर CLI टूल्स बनाने के लिए विशेष रूप से उपयोगी है जहां डेटा की पठनीयता और विज़ुअल पदानुक्रम महत्वपूर्ण है।

यह लाइब्रेरी कम्पोज़िशन के सिद्धांतों पर बनी है और इसमें 'विजेट्स' का एक समृद्ध सेट है जिसे जोड़ा जा सकता है। इसे समुदाय द्वारा सक्रिय रूप से समर्थित किया जाता है, इसकी विस्तृत डॉक्यूमेंटेशन है, और इसका उपयोग Cake Build, NuGet Client और .NET SDK जैसे बड़े प्रोजेक्ट्स में किया जाता है। यदि आप C# में लिखते हैं और चाहते हैं कि आपकी कंसोल यूटिलिटी आधुनिक टूल की तरह दिखे, न कि 80 के दशक के अवशेष की तरह - तो Spectre.Console आपकी पसंद है।

इंस्टॉलेशन

Spectre.Console NuGet के माध्यम से वितरित की जाती है। इंस्टॉल करने के लिए टर्मिनल या पैकेज मैनेजर कंसोल में निम्नलिखित में से कोई एक कमांड चलाएं:

# .NET CLI के माध्यम से
dotnet add package Spectre.Console

# Package Manager Console (Visual Studio) के माध्यम से
Install-Package Spectre.Console

# या अपनी IDE में NuGet Package Manager के माध्यम से

इंस्टॉल करने के बाद, अपने कोड फ़ाइल की शुरुआत में using Spectre.Console; जोड़ें।

त्वरित शुरुआत

मुख्य क्षमताओं को प्रदर्शित करने वाला न्यूनतम कार्यशील उदाहरण:

using Spectre.Console;

// सरल रंगीन संदेश
AnsiConsole.MarkupLine("[bold green]नमस्ते, Spectre.Console![/]");

// टेबल
var table = new Table();
table.AddColumn("नाम");
table.AddColumn("उम्र");
table.AddRow("अलीशा", "30");
table.AddRow("रोहित", "25");
AnsiConsole.Write(table);

// प्रोग्रेस बार
AnsiConsole.Progress()
    .Start(ctx =>
    {
        var task = ctx.AddTask("[yellow]प्रोसेसिंग...[/]");
        while (!task.IsFinished)
        {
            task.Increment(15);
            Thread.Sleep(200);
        }
    });

यह कोड एक रंगीन अभिवादन, डेटा वाली टेबल और एक एनिमेटेड प्रोग्रेस बार प्रदर्शित करेगा।

मुख्य तरीके, फंक्शन और क्लासेस

1. AnsiConsole.MarkupLine

सिग्नेचर: public static void MarkupLine(string markup)

यह क्या करता है: टेक्स्ट को स्टाइल करने (रंग, स्टाइल, लिंक) के लिए मार्कअप सपोर्ट के साथ एक स्ट्रिंग आउटपुट करता है।

AnsiConsole.MarkupLine("[bold yellow]ध्यान दें![/] [red]त्रुटि[/] लाइन [underline]42[/] पर.");

2. AnsiConsole.Progress

सिग्नेचर: public static Progress Display(ProgressContext context) (fluent API के माध्यम से)

यह क्या करता है: एक इंटरैक्टिव प्रोग्रेस बार बनाता और प्रदर्शित करता है जिसमें कई टास्क जोड़े जा सकते हैं।

AnsiConsole.Progress()
    .Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn())
    .Start(ctx =>
    {
        var task1 = ctx.AddTask("[green]फ़ाइल 1 डाउनलोड[/]");
        var task2 = ctx.AddTask("[blue]फ़ाइल 2 डाउनलोड[/]");
        while (!task1.IsFinished || !task2.IsFinished)
        {
            task1.Increment(5);
            task2.Increment(3);
            Thread.Sleep(100);
        }
    });

3. Table

सिग्नेचर: public class Table : Renderable,

अनुशंसाएँ