2 dizenin birbirinden farklı olduğu ilk yeri elde etmek istiyorum. örnek: bu iki dizeleri : "AAAB" "AAAAC"Dizeleri karşılaştırma ve birbirinden farklı olan ilk yerlere ulaşma
Ben C# Nasıl yaptın sonucu 4.
almak istiyor? Bir LINQy çözümü için,
public static class StringExtensions {
public static int IndexOfDifferenceFrom(this string source, string compareTo)
{
for(var i = 0; i < source.Length && i < compareTo.Length; ++i) {
if (source[i] != compareTo[i]) {
return i;
}
}
return source.Length < compareTo.Length ? source.Length : compareTo.Length;
}
}
Veya:
döngü için iyi bir eski için bir iş gibi geliyor. – marcog
@marco: Evet, ancak LINQ çözümlerini bekliyorum. –
Referans için, dilin geri kalanıyla tutarlı olmak istiyorsanız, konum 3'tür (4 değil). Hemen tüm C'ish dillerinde, dizelerin 'char indeksleri 0-tabanlıdır. – cHao