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.
Uyarı
Aşağıdaki kılavuz kullanım içindir [DllImport] ve doğru sonuçlar için el ile izlenmesi gerekir. .NET 7+ kullanıcıları bunun yerine kullanmayı [LibraryImport] düşünmelidir. Kutuda bulunan Roslyn çözümleyicisi (varsayılan olarak etkindir), kodunuzdaki [LibraryImport] özniteliği için gerekli yönergeyi sağlar.
char Değerlerin, string nesnelerin ve System.Text.StringBuilder nesnelerin nasıl düzenlendiği, P/Invoke veya yapıdaki CharSet alanının değerine bağlıdır. P/Invoke'unuzu bildirirken CharSet alanını ayarlayarak DllImportAttribute.CharSet P/Invoke değerini belirleyebilirsiniz. Bir tür için CharSet ayarlamak amacıyla, sınıf veya yapı bildiriminizdeki StructLayoutAttribute.CharSet alanını ayarlayın. Bu öznitelik alanları ayarlanmadığında, hangisinin CharSet kullanılacağını belirlemek dil derleyicisine bağlıdır. C#, Visual Basic ve F#, varsayılan olarak None karakter kümesini kullanır, bu da Ansi karakter kümesiyle aynı davranışa sahiptir.
C# veya Visual Basic kodunda modül üzerinde System.Runtime.InteropServices.DefaultCharSetAttribute uygulanırsa, C# veya Visual Basic derleyicisi CharSet kullanmak yerine varsayılan olarak sağlanan CharSet.None öğesini yayar. F#, DefaultCharSetAttribute öğesini desteklemez ve her zaman varsayılan olarak CharSet.None yayar.
Aşağıdaki tabloda her karakter kümesi arasındaki eşleme ve bu karakter kümesiyle birlikte sıralandığında bir karakter veya dizenin nasıl temsil edilir olduğu gösterilmektedir:
CharSet değer |
Windows | Unix üzerinde .NET Core 2.2 ve öncesi | .NET Core 3.0 ve üzeri ve Unix üzerinde Mono |
|---|---|---|---|
Ansi |
char(sistem varsayılan Windows (ANSI) kod sayfası) |
char (UTF-8) |
char (UTF-8) |
Unicode |
wchar_t (UTF-16) |
char16_t (UTF-16) |
char16_t (UTF-16) |
Auto |
wchar_t (UTF-16) |
char16_t (UTF-16) |
char (UTF-8) |
Karakter kümenizi seçerken yerel gösteriminizin hangi gösterimi beklediğini bildiğinizden emin olun.