Sahte SSN numaralarını denemek ve filtrelemem gereken bir durum var. Şimdiye kadar gördüğüm kadarıyla hepsi aynı numara veya 123456789'dur. Sonuncusunu filtreleyebilirim, fakat tüm karakterlerin aynı olup olmadığını belirlemenin kolay bir yolu var mı?C# bir dizedeki tüm karakterlerin aynı olup olmadığını belirleyin
cevap
dönüş (ssn. Distinct() .Count() == 1)
İlk karakteri yakala ve döngü.
public static bool AreAllCharactersSame(string s)
{
return s.Length == 0 || s.All(ch => ch == s[0]);
}
Açıklama: Bir dizgenin uzunluğu 0 ise, o zaman tabii ki tüm karakterler
var ssn = "222222222";
var fc = ssn[0];
for(int i=0; i<ssn.Length; i++)
{
if(ssn[i]!=fc)
return false;
}
return true;
tabii ki de bu yöntem hile yapmak gerekir ssn
Dize null bu aralar: p – Jay
Ya .. Boş dize de bunu kırın. OP bu soruna dikkat etmeli. –
uzunluğunu kontrol etmelidir aynı. Aksi takdirde, bir dizenin karakterleri hepsi ilkine eşitse hepsi aynıdır. Biz SSN bahsediyoruz çünkü
, bu sorunun kurtulmak Gid. SSN'yi doğrulamak için this CodeProject demo projesini kontrol edebilir ve kullanabilirsiniz. Bu VB.Net'te olsa da, sanırım aynı fikirle gelebilirsiniz. !
'un Dikkat Edilmesi Gerekenler Buradaki kısıtlamaların kodlanması, muhtemelen düşündüğünüz herhangi bir filtreden daha iyi bir çözümdür. – AShelly
ama girilen değerler sahte olan bir SSN'yi nasıl doğrularsınız? örneğin 123456798? Doğrulama ile uygulamak için gereken kurallar vardır. Tüm karakterlerin aynı olup olmadığını kontrol etmek, onu güvenilir kılmak için yeterli olmaz. – lexeRoy
char[] chrAry = inputStr.ToCharArray();
char first = chrAry[0];
var recordSet = from p in chrAry where p != first select p;
return !recordSet.Any();
- 1. C dizesinin geçerli bir int olup olmadığını belirleyin C
- 2. Görüntüyü okuyun ve bozuk bozuk olup olmadığını belirleyin C#
- 3. Bir dosyanın gerçekten bir resim olup olmadığını belirleyin express/node.js
- 4. Bir parametrenin/değişkenin bir ("is_a?") Lambda olup olmadığını belirleyin.
- 5. Dosyayı oku ve tüm satırların aynı uzunlukta olup olmadığını bulun
- 6. Dizideki tüm öğelerin aynı olup olmadığını nasıl sınayabilirim?
- 7. Nesnenin aynı türde olup olmadığını kontrol etme
- 8. Bir kullanıcının belirli bir AD Grubuna ait olup olmadığını belirleyin. Net
- 9. Bir sınıf başvurulan olup olmadığını belirleme C#
- 10. belirleyin
- 11. Belirli karakterlerin tüm oluşumlarını nasıl değiştirebilirim?
- 12. Vim'de iki satırın aynı olup olmadığını nasıl kontrol edebilirim?
- 13. C# içindeki tüm yazdırılabilir karakterlerin listesini nasıl alabilirim?
- 14. Tablonun var olup olmadığını kontrol edin C#
- 15. Monitör açık olup olmadığını tespit edin C#
- 16. Bir Julia dizisinin tüm öğelerinin eşit olup olmadığını kontrol edin
- 17. IOS: bir dizenin boş bir dize olup olmadığını doğrulayın
- 18. Açısal-ui modelinin açık veya kapalı olup olmadığını güvenilir bir şekilde belirleyin (gösterilen veya gizlenen)
- 19. Bir dizedeki her karakter için aynı sayıda yinelenen karakteri kaldırın
- 20. Dizideki tüm öğelerin sıfır olup olmadığını kontrol etme
- 21. Kabuk betikindeki bir dizedeki tüm nokta oluşumları nasıl kaldırılır?
- 22. Bir dizedeki tüm noktalama işaretleri nasıl kaldırılır? (Python) Örneğin
- 23. C# 'da, bir yolun sanal olup olmadığını nasıl kontrol edersiniz?
- 24. Bir Wi-Fi ağına bağlı olup olmadığını kontrol edin C#
- 25. Bir sayı C++ olup olmadığını kontrol edin. kod
- 26. C# Başka bir resmin içinde görüntünün olup olmadığını kontrol etme
- 27. C# Bir dizinin gizli olup olmadığını kontrol edin
- 28. Dize bir URL olup olmadığını belirlemek için Objective-C
- 29. açılan bir değer seçili olup olmadığını kontrol edin C#
- 30. C++ - Ben böyle bir şey yapmak mümkün olup olmadığını merak
s = null && s.Length> 1 && s [s.Length - 1] == s [0] – Jay
Sadece dizesinde ilk karakteri kullanmak ve saymak için bu önceki soruya cevap kullanmak sayıların sayısı: http://stackoverflow.com/questions/10391481/number-of-occurrences-of-a-character-in-a-string – JeffO
Sorun başka yerlerde kaç kez olacak? Gerekirse belirsizlikle dengelenmesi gerekiyor ... – Jay