Avatar ·

C# में किसी वर्ण या उपस्ट्रिंग की घटनाओं की गणना कैसे करें?

सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ और एक ऐसे कार्य का सामना कर रहा हूँ जो सरल लगता है, लेकिन मुझे कोई सुंदर समाधान नहीं मिल रहा है। मुझे गणना करनी है कि एक निश्चित वर्ण (जैसे 'a') एक स्ट्रिंग में कितनी बार आता है। मैंने मैन्युअल रूप से लूप लिखने की कोशिश की, लेकिन यह बोझिल लगता है। यहाँ मेरा वर्तमान कोड है:
string text = "Hello, world! Hello, C#!";
char target = 'l';
int count = 0;
for (int i = 0; i < text.Length; i++)
{
    if (text[i] == target)
        count++;
}
Console.WriteLine(count); // आउटपुट 4
यह काम करता है, लेकिन मुझे लगता है कि C# में एक बिल्ट-इन समाधान होना चाहिए। इसके अलावा, मुझे केवल वर्ण ही नहीं, बल्कि पूरी उपस्ट्रिंग्स भी गिननी हैं। उदाहरण के लिए, स्ट्रिंग "HelloHelloWorld" में शब्द "Hello" कितनी बार आता है। यदि मैं लूप के साथ वही दृष्टिकोण अपनाता हूँ, तो उपस्ट्रिंग्स के लिए यह बहुत जटिल हो जाता है — कई इंडेक्स पर मिलान की जाँच करनी पड़ती है। कृपया बताएं, क्या .NET में घटनाओं की गणना के लिए तैयार methods हैं? हो सकता है, कुछ ऐसा जैसे