Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 17614|Yanıt: 1

[İletişim] C# genel örnekleri ayrıntılı şekilde açıklanır

[Bağlantıyı kopyala]
Yayınlandı 28.01.2019 16:03:40 | | | |
1. Jenerik nedir?

Jenerikler, C# 2.0'da tanıtılan yeni sözdizimi değil, sözdizimi şekeri değil, 2.0'daki framework yükseltmeleriyle sağlanan özelliklerdir.

Programları programladığımızda, genellikle çok benzer fonksiyonlara sahip modüllerle karşılaşırız, ancak bunlar farklı verileri işliyor. Ancak farklı veri türlerini işlemek için ayrı ayrı birden fazla yöntem yazmaktan başka seçeneğimiz yok. Şu anda soru şu: Farklı parametrelerle aynı yöntemi kullanmanın bir yolu var mı? Jeneriklerin ortaya çıkışı özellikle bu sorunu çözmek için tasarlanmıştır.

2. Neden jenerik kullanıyorsunuz

Aşağıdaki örneğe bakalım:
Sonuç:

Yukarıdaki sonuçlardan, bu üç yöntemin aynı fonksiyonlara sahip olduğunu, ancak farklı parametreleri geçirdiğini görebiliriz. 1.0 sürümü zamanında jenerik kavramı yoktu, peki ne yapmalı? Bence birçok kişi OOP'un üç ana özelliğinden birinin mirasını düşünecek, C#'da nesne tüm türlerin temel sınıfıdır ve yukarıdaki kod aşağıdaki gibi optimize edilmiştir:
Sonuç:

Yukarıdaki sonuçlardan, Object tipinin kullanımının gereksinimlerimizi karşıladığını ve kodun yeniden kullanılabilirliğini çözdüğünü görebiliyoruz. Bazı kişiler, nesne tipi olarak tanımlanmışken neden int, string vb. geçişinin mümkün olduğunu sorabilir? Bunun iki nedeni vardır:

1. Nesne türü, tüm türlerin ana sınıfıdır.

2. Miras yoluyla alt sınıflar ana sınıfın tüm niteliklerine ve davranışlarına sahiptir ve ana sınıf nerede görünürse, alt sınıflarla değiştirilebilir.

Ancak yukarıdaki nesne tipi yöntem başka bir sorun daha getirir: kutulama ve açma programın performansını düşürebilir.

Microsoft, yukarıdaki sorunları çok iyi çözebilen C# 2.0'da genel ürünler tanıttı.

3. Genel tip parametreleri

Genel bir tür veya yöntem tanımında, tür parametresi, istemci tarafından belirli bir tür için belirli bir tür için belirlenen bir yer tutucudur; bu tür değişkeni örneklediğinde. Genel sınıf (GenericList<T>) olduğu gibi kullanılamaz çünkü gerçek bir tip değildir; Daha çok tipler için bir plan gibi. GenericList kullanmak <T>için, istemci kodu açı parantezleri içinde tür parametresini belirleyerek bir yapı tipini ilan edip örneklemelidir. Bu sınıfın tür argümanı, derleyicinin tanıdığı herhangi bir tür olabilir. Her biri farklı bir tür parametreye sahip sayısız yapı türü örneği oluşturabilirsiniz.

Yukarıdaki örnekteki kod aşağıdaki şekilde değiştirilebilir:
Ara:
Sonuçları göster:






Önceki:.NET Çekirdek Dosya Sağlayıcıları
Önümüzdeki:MySQL veritabanı adı, tablo adı ve alan adı sorgusu
Yayınlandı 29.01.2019 04:08:13 |
Çok iyi, titiz ve temel şeyler daha fazla gözden geçirilmeli
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com