Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.
Rendezés és sztringek összehasonlítása a .NET-keretrendszerben
A .NET-keretrendszer 4-es verzióján keresztül a .NET-keretrendszer minden verziója tartalmazott olyan táblázatokat, amelyek rendezési súlyokat és adatokat tartalmaztak a sztring normalizálásához, és amelyek a Unicode egy adott verzióján alapulnak. A .NET-keretrendszer 4.5-ös és újabb verzióiban a táblák jelenléte az operációs rendszertől függ:
- Windows 7 és korábbi verziókban a táblák továbbra is használhatók a sztringek összehasonlítására és sorrendjére.
- Windows 8 rendszeren a .NET-keretrendszer sztring-összehasonlítási és rendezési műveleteket delegál az operációs rendszerre.
Ezért a sztringek összehasonlításának eredménye nem csak a .NET-keretrendszer verziójától, hanem az operációs rendszer verziójától is függhet, ahogy az alábbi táblázat is mutatja. Vegye figyelembe, hogy a támogatott Unicode-verziók listája csak a karakterek összehasonlítására és rendezésére vonatkozik; nem vonatkozik a Unicode-karakterek kategória szerinti besorolására.
| .NET-keretrendszer verziója | Operációs rendszer | Unicode-verzió |
|---|---|---|
| 4 | Minden operációs rendszer | Unicode 5.0 |
| 4.5-ös és újabb verziók | Windows 7 | Unicode 5.0 |
| 4.5-ös és újabb verziók | Windows 8 és újabb verziók | Unicode 6.0 |
Windows 8 rendszeren, mivel a karakterlánc-összehasonlításban és -rendezésben használt Unicode-verzió az operációs rendszer verziójától függ, a sztringek összehasonlítása még a .NET-keretrendszer egy adott verzióján futó alkalmazások esetében is eltérő lehet.
Rendezés és sztringek összehasonlítása a .NET Core-ban
A .NET (Core) minden verziója a mögöttes operációs rendszerre támaszkodik a sztring-összehasonlítások végrehajtásakor. Ezért a sztringek összehasonlításának eredményei vagy a sztringek rendezésének sorrendje attól függ, hogy az operációs rendszer melyik Unicode-verziót használja az összehasonlítás során. Linux, macOS és Windows 10 és újabb verziókon a Unicode-kódtárakhoz készült International Components biztosítja az összehasonlítási és rendezési API-k implementálását.
A SortVersion osztály használata
Az SortVersion osztály információt nyújt a .NET által a sztringek összehasonlításához és sorrendjéhez használt Unicode-verzióról. Lehetővé teszi a fejlesztők számára, hogy olyan alkalmazásokat írjanak, amelyek képesek észlelni és sikeresen kezelni az alkalmazás sztringjeinek összehasonlítására és rendezésére használt Unicode-verzió változásait.
Az objektumokat kétféleképpen lehet példányosítani SortVersion :
- SortVersion konstruktor meghívásával, amely egy verziószám és rendezési azonosító alapján hoz létre egy új SortVersion objektumot. Ez a konstruktor akkor hasznos, ha egy SortVersion objektumot mentett adatokból állít vissza.
- A CompareInfo.Version tulajdonság értékének beolvasásával. Ez a tulajdonság a .NET-implementáció által használt Unicode-verzióról nyújt információt, amelyen az alkalmazás fut.
Az SortVersion osztálynak két tulajdonsága van, FullVersion és SortId, amelyek a Unicode-verziót és a sztring-összehasonlításhoz használt megfelelő kultúrát jelölik. A FullVersion tulajdonság egy tetszőleges numerikus érték, amely a karakterlánc-összehasonlításhoz használt Unicode-verziót tükrözi, a SortId tulajdonság pedig egy tetszőleges Guid érték, amely tükrözi azt a kultúrát, amelynek konvencióit sztringek összehasonlítására használják. A két tulajdonság értékei csak akkor fontosak, ha két SortVersion objektumot hasonlít össze a metódus, az EqualsEquality operátor vagy az Inequality operátor használatával.
Ön általában egy SortVersion objektumot használ a kultúraérzékeny, rendezett karakterlánc adat, például indexek vagy maguk a literális karakterláncok mentéséhez vagy visszakereséséhez. Ehhez a következő lépések szükségesek:
A rendezett sztringadatok mentésekor a FullVersion és a SortId tulajdonságértékek is mentésre kerülnek.
A konstruktor SortVersion meghívásával újra létrehozhatja a rendezéshez használt SortVersion objektumot, amikor a rendezett sztringadatokat lekéri.
Ezt az újonnan létrehozott objektumot SortVersion összehasonlítjuk egy SortVersion olyan objektummal, amely tükrözi azt a kultúrát, amelynek konvencióit a sztringadatok rendelésére használják.
Ha a két SortVersion objektum nem egyenlő, a sztringadatokat újra kell rendezni.