यह संभव स्ट्रिंग एक्सटेंशन लिखने के लिए
public static class MyExtensions
{
public static IList<char> Mismatch(this string str1, string str2)
{
var char1 = str1.ToCharArray();
var char2 = str2.ToCharArray();
IList<Char> Resultchar= new List<char>();
for (int i = 0; i < char2.Length;i++)
{
if (i >= char1.Length || char1[i] != char2[i])
Resultchar.Add(char2[i]);
}
return Resultchar;
}
}
तरह
var r = "1234567890".Mismatch("1234567880");
यह बेमेल को खोजने के लिए एक अनुकूलित एल्गोरिथ्म नहीं है, यह प्रयोग करें।
आप पहली बार बेमेल को खोजने के लिए केवल चाहते हैं, तो
public static Char FirstMismatch(this string str1, string str2)
{
var char1 = str1.ToCharArray();
var char2 = str2.ToCharArray();
for (int i = 0; i < char2.Length;i++)
{
if (i >= char1.Length || char1[i] != char2[i])
return char2[i];
}
return ''c;
}
का उपयोग कर चल रहा है नहीं अपनी खुद की है संभवतः (शायद) एक विस्तार विधि के रूप में संभव है? – glosrob
+1 यह जांचने के लिए कि क्या यह पहले से ही मानक लाइब्रेरी में मौजूद है या नहीं। –
पूरी तरह से। कुछ और भी बुरा नहीं है कि वास्तव में अच्छा कार्यान्वयन बंद करने में गर्व गिर रहा है जब आप महसूस करते हैं कि यह 1.1 के बाद से ढांचे में रहा है! –