मैंने पर निम्न विधि लिखा है तारों से ब्रैकेट में नामस्थान हटा दें।मैं इस विधि को कैसे बढ़ा सकता हूं जो एक स्ट्रिंग से टेक्स्ट हटा देता है?
मैं इसे तेज़ जितना संभव हो उतना बनाना चाहता हूं।
क्या निम्न कोड को गति देने का कोई तरीका है?
using System;
namespace TestRemoveFast
{
class Program
{
static void Main(string[] args)
{
string[] tests = {
"{http://company.com/Services/Types}ModifiedAt",
"{http://company.com/Services/Types}CreatedAt"
};
foreach (var test in tests)
{
Console.WriteLine(Clean(test));
}
Console.ReadLine();
}
static string Clean(string line)
{
int pos = line.IndexOf('}');
if (pos > 0)
return line.Substring(pos + 1, line.Length - pos - 1);
else
return line;
}
}
}
इनमें से कौन सा तेज़ है? लाइन। सब्स्ट्रिंग (pos + 1) बनाम लाइन। सब्स्ट्रिंग (pos + 1, line.Length - pos - 1)। मुझे लगता है कि आपने पहले परीक्षण किया और बाद में चुना ?! –
यह धीमा नहीं है। मेरी विनम्र राय में, RegEx जोड़ना अनावश्यक ओवरहेड होगा। –
आप pos + 1 को एक चर में ले जा सकते हैं, और प्रारंभ और घटाव दोनों के लिए इसका उपयोग कर सकते हैं। लेकिन हम नैनो सेकंड्स बात कर रहे हैं;) लेकिन यह +1 और -1 कर बचाता है। अभी तक नैनोसेकंड के लिए भी। Line.IndexOf ('}') को लाइन में बदलें। इंडेक्सऑफ ('}', 8, लाइन। लम्बाई)। एक विधि कॉल बचाता है और प्रारंभिक बाइट स्कैनिंग करता है। –