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.
.NET 9'da, params Span<T> dili özelliği'deki önemli bir değişiklik, StringValues'ün örtük işleçleriyle belirsizlik yaratır. Bu değişiklik, derleyicinin belirsiz yöntem çağrılarıyla karşılaştığında CS0121 hata oluşturmasını sağlar.
Önceki davranış
Daha önce Etkilenen API'ler bölümünde bahsedilen API'ler, StringValuesörtük işleçleriyle belirsiz bir aşırı yüklemeye sahip değildi. Sonuç olarak, derleyici aşırı yüklemeleri herhangi bir sorun olmadan çözebilir.
Yeni davranış
Derleyici, bu belirsiz aşırı yüklemelerle karşılaştığında hata CS0121 oluşturur ve bu da aşağıdaki hataya neden olur:
CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'
Sürüm kullanıma sunulmuştur
.NET 9
Çalışmayı bozan değişiklik türü
Bu değişiklik, kaynak uyumluluğu türünde bir değişikliktir.
Değişiklik nedeni
StringValues, string ve string[] üzerinde, params Span<T> dil özelliğiile çakışmalara neden olan örtük işleçlere sahiptir.
Önerilen eylem
Bağımsız değişkenleri uygun türe dönüştürerek veya adlandırılmış parametreleri uygulayarak çağırmak istediğiniz yöntemi açıkça belirtin.
Etkilenen API'ler
- System.String.Concat(ReadOnlySpan<String>)
- System.String.Join(Char, ReadOnlySpan<String>)
- System.String.Join(String, ReadOnlySpan<String>)
- System.IO.Path.Combine(ReadOnlySpan<String>)
- System.IO.Path.Join(ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(String, ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(Char, ReadOnlySpan<Object>)