Potrzebuję listy niewrażliwej na wielkość liter lub zestawu typów kolekcji (ciągów znaków). Jaki jest najłatwiejszy sposób na stworzenie? Możesz określić typ porównania, jaki chcesz uzyskać na kluczach Słownika, ale nie mogę znaleźć niczego podobnego dla Listy.Lista niewrażliwa na wielkość liter
Odpowiedz
Wygląda na jego możliwe wykorzystanie klasę KeyedCollection:
public class Set<T> : KeyedCollection<T,T>
{
public Set()
{}
public Set(IEqualityComparer<T> comparer) : base(comparer)
{}
public Set(IEnumerable<T> collection)
{
foreach (T elem in collection)
{
Add(elem);
}
}
protected override T GetKeyForItem(T item)
{
return item;
}
}
Zakładając, że używasz .NET 3.5, można po prostu użyć:
var strings = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
... lub coś podobnego, gdzie chcesz wybrać odpowiednie ustawienie, a także kulturę.
Lista tak naprawdę nie ma większego pojęcia o porównaniu - tylko wtedy, gdy zadzwonisz pod numer IndexOf
i metody pokrewne. Nie sądzę, że istnieje sposób na określenie porównania do tego celu. Można jednak użyć List<T>.Find
z predykatem.
podobną historię tutaj gdzie chce sprawdzić contains
np
public static bool Contains(this string source, string toCheck, StringComparison comp)
{
return source.IndexOf(toCheck, comp) >= 0;
}
używać LINQ, to dodaje nową metodę .Compare
using System.Linq;
using System.Collections.Generic;
List<string> MyList = new List<string>();
MyList.Add(...)
if (MyList.Contains(TestString, StringComparer.CurrentCultureIgnoreCase)) {
//found
}
Nie potrzebujesz 'Linq', aby użyć metody Contains –
@ geo1701: ale ** potrzebujesz ** 'using System.Linq', aby uzyskać nowe przeciążenie za pomocą' StringComparer'! –
Dzięki, dobra odpowiedź, miałem nadzieję, że istnieje przedłużenie, zamiast pisać własne. W przeciwnym razie nie wiedziałbym, gdzie szukać! – Abacus
var Addresses = Pr.Where(a = >a.Key.ToUpper() == "KEY VALUE").ToList();
Tylko klucze wielkie litery i wyszukaj WIELKIEJ KOLEKCJI
To jest DOKŁADNIE włamanie, którego chciałem uniknąć. – Grzenio
- 1. Nazwa odgałęzienia Git - wielkość liter jest niewrażliwa?
- 2. Jaka jest najbardziej efektywna niewrażliwa na wielkość liter grep?
- 3. Lista zapytań Django nieodczułowa na wielkość liter
- 4. Jak ustawić operator% like% na wielkość liter?
- 5. Jak mogę zrobić rozróżnianie wielkości liter niewrażliwe na wielkość liter?
- 6. JavaScript: niewrażliwe na wielkość liter
- 7. Czy wielkość znacznika AutoMapper jest niewrażliwa?
- 8. Nieczułe na wielkość liter zamień na
- 9. Zmiana sortowania programu SQL Server na wielkość liter nie uwzględnia wielkości liter?
- 10. wielkość liter Directory.Exists/File.Exists
- 11. PHP wielkość liter explode()
- 12. Tablica niewrażliwa na luki w Lua
- 13. Wyszukiwanie niewrażliwe na wielkość liter w Mongo
- 14. Adresy niewrażliwe na wielkość liter dla Django?
- 15. Uruchamianie kwerendy niewrażliwe na wielkość liter
- 16. Wybrane opcje niewrażliwe na wielkość liter
- 17. Nieczułe na wielkość liter porównywanie ciągów znaków
- 18. wielkość liter na Mac dla file_exists()?
- 19. Przełącznik niewrażliwy na wielkość liter jako zmienna?
- 20. Łańcuch niewrażliwy na wielkość liter :: znajdź
- 21. Czy mysql jest wrażliwy na wielkość liter?
- 22. Niewrażliwe na wielkość liter JFlex regex
- 23. Globalnie niewrażliwy na wielkość liter zsh/bash
- 24. Wykonywanie wyszukiwania niewrażliwego na wielkość liter
- 25. Wybierz wielkość liter w LINQ
- 26. Ignoruj wielkość liter z difflib.get_close_matches()
- 27. ignorować wielkość liter w regex.replace?
- 28. C# - Jak zrobić, aby wielkość znacznika AutoMapper była niewrażliwa?
- 29. Wyszukiwanie niewrażliwe na wielkość liter MySQL na polu varbinary?
- 30. Zmień wielkość liter za pomocą regex Javascriptu
Utknąłem z .Net 2 niestety :( – Grzenio