Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Operace směny v obecné matematice teď mají konzistentní chování napříč všemi integrovanými typy celých čísel.
Předchozí chování
Dříve se chování při použití obecné matematiky k provedení posunu na typu T mohlo lišit. V některých případech bylo posunutí odpovídajícím způsobem maskováno pomocí sizeof(T) - 1. A v jiných případech nebylo žádné maskování. To znamená, že "nadměrný posun" (například posun byte o 8) může vést k jiným výsledkům, než se očekávalo.
Nové chování
Implementace byly aktualizovány tak, aby maskovaly velikost posunu, a tím bylo zajištěno konzistentní chování napříč všemi vestavěnými celočíselnými typy a způsobem zdokumentovaným rozhraním System.Numerics.IShiftOperators<TSelf,TOther,TResult>.
Zavedená verze
.NET 10
Typ zásadní změny
Tato změna je změnou chování.
Důvod změny
Chování se liší od navrženého chování v důsledku rozdílu v tom, jak funguje maskování u malých celočíselových typů v jazyce C#.
Doporučená akce
Aktualizujte veškerý kód, který spoléhá na předchozí nekonzistentní chování, aby zajistil, že funguje s novým konzistentním chováním.
Ovlivněná rozhraní API
operator <<operator >>-
operator >>>probyte,char,sbyte,shortaushortpři použití prostřednictvím obecné matematiky, která vyžadujeTomezené nawhere T : IShiftOperators<T, int, T>nebo podobné rozhraní.