Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel matematikteki shift işlemleri artık tüm yerleşik tamsayı türlerinde tutarlı davranışlara sahiptir.
Önceki davranış
Daha önce, bir T üzerinde kaydırma işlemi gerçekleştirmek için genel matematik kullanılırken davranış, türüne bağlı olarak farklılık gösterebilirdi. Bazı durumlarda vardiya miktarını uygun şekilde sizeof(T) - 1maskelemektedir. Ve diğer durumlarda maskeleme yoktu. Bu, "aşırı kaydırma" (örneğin bir byte'ı 8'e kaydırma) beklenenden farklı yanıtlara yol açabileceği anlamına geliyordu.
Yeni davranış
Uygulamalar, tüm yerleşik tamsayı türlerinde ve System.Numerics.IShiftOperators<TSelf,TOther,TResult> arabirimi tarafından belgelenen davranışla tutarlı bir davranış sağlamak için, kaydırma miktarını uygun şekilde maskelenecek şekilde güncellendi.
Sürüm kullanıma sunulmuştur
.NET 10
Kırıcı değişiklik türü
Bu değişiklik, bir davranış değişikliğidir.
Değişiklik nedeni
C# dilindeki küçük tamsayı türleri için maskelemenin çalışma şeklindeki fark nedeniyle davranış, tasarlanan davranıştan farklı oldu.
Önerilen eylem
Yeni tutarlı davranışla çalıştığından emin olmak için önceki tutarsız davranışa dayalı tüm kodları güncelleştirin.
Etkilenen API'ler
operator <<operator >>-
operator >>>,byte,char,sbyteveshortiçinushort,Tveya benzer bir arabirimle kısıtlanmış birwhere T : IShiftOperators<T, int, T>gerektiren genel matematik aracılığıyla kullanıldığında.