«c#» etiketlenmiş sorular

C #, .NET platformuna paralel olarak Microsoft tarafından oluşturulan çok parametreli, yönetilen, çöp toplanan nesne yönelimli bir programlama dilidir.

5
foreach vs. için LINQ için
Visual Studio'da kod yazdığımda ReSharper (Tanrı onu korusun!) Sık sık eski okulumu daha küçük foreach formunda döngü için değiştirmemi önerir. Sıklıkla, bu değişikliği kabul ettiğimde, ReSharper bir adım öne geçer ve parlak bir LINQ biçiminde tekrar değiştirmemi önerir. Öyleyse merak ediyorum: bu gelişmelerde bazı gerçek avantajlar var mı? Oldukça basit …
86 c#  linq 

11
Statik evrensel olarak ünite testi için “kötülük” mü ve öyleyse neden Resharper bunu tavsiye ediyor? [kapalı]
C #. NET'te statik olan birim sınama (sahte / saplama) bağımlılıklarının yalnızca 3 yolu olduğunu buldum: Benler Typemock JustMock Bunlardan ikisinin serbest olmadığı ve birinin sürüm 1.0'a vurmadığı göz önüne alındığında, statik şeyleri alay etmek çok kolay değil. Bu statik yöntemler ve bu “kötülük” yapar (birim test anlamında)? Ve eğer …

4
Zengin Etki Alanı Modelleri - davranış tam olarak nasıl uyuyor?
Rich'e karşı Anemik etki alanı modelleri tartışmasında, internet felsefi tavsiyelerle doludur, ancak otoriter örnekler konusunda kısa bilgi. Bu sorunun amacı, kesin Etki Alanına Dayalı Tasarım modellerinin kesin kurallarını ve somut örneklerini bulmaktır. (İdeal olarak C # 'da.) Gerçek dünyadaki bir örnek için, DDD'nin bu uygulaması yanlış görünmektedir: Aşağıdaki WorkItem etki …

8
Büyü değeri döndür, istisna fırlat veya başarısızlık durumunda yanlış döndür
Bazen gerçek bir cevabı değil, başarısızlığı istisnai olmayan bir sınıf kütüphanesi için bir yöntem veya özellik yazmak zorunda kalıyorum . Bir şey belirlenemiyor, mevcut değil, bulunamadı, şu anda mümkün değil veya daha fazla veri yok. C # 4'teki başarısızlığı belirtmek için nispeten istisnai olmayan bir durum için üç olası çözüm …

11
Java geliştiricileri bilinçli olarak RAII'den vazgeçti mi?
Uzun zamandır bir C # programcısı olarak, yakın zamanda Kaynak Edinimi Başlatma'nın (RAII) avantajları hakkında daha fazla şey öğrenmeye başladım . Özellikle, C # deyiminin olduğunu keşfettim: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } C ++ eşdeğeri var: { DbConnection dbConn(connStr); // do stuff …
82 java  c#  c++  language-design 

10
İstisnalar, hata kodları ve ayrımcı sendikalar
Kısa bir süre önce bir C # programlama işine başladım, ancak Haskell'de epeyce bir geçmişe sahibim. Fakat C # 'nın nesne yönelimli bir dil olduğunu anlıyorum, yuvarlak bir çiviyi kare bir deliğe zorlamak istemiyorum. Aşağıdaki Microsoft'tan İstisna Fırlatma makalesini okudum : YAPMAYIN hata kodlarını döndürür. Ancak Haskell'e alışmak için, C …
80 c#  exceptions 

6
C # Fluent ne zaman gitmeli?
Pek çok açıdan Akıcı arayüzler fikrinden gerçekten hoşlanıyorum, ancak C # 'nın (başlatıcılar, lambdalar, adlandırılmış parametreler) tüm modern özellikleri ile kendimi düşündüğümü buluyorum, "buna değer mi?" Ve "Bu doğru kalıp mı? kullanılır?". Birisi bana, kabul edilen bir uygulama değilse, en azından Fluent modelini ne zaman kullanacağına ilişkin kendi deneyimlerini veya …
78 c#  .net 

17
Kodlama Rehberi: Yöntemler 7'den fazla ifade içermemeli midir?
C # için AvSol Kodlama Kılavuzuna bakıyordum ve neredeyse her şeye katılıyorum ama başka bir kural hakkında ne düşündüğünü görmek gerçekten merak ediyorum. AV1500 Yöntemler 7 ifadeyi geçmemelidir. 7'den fazla ifade gerektiren bir yöntem çok fazla veya çok fazla sorumluluk alıyor. Ayrıca, kodun ne yaptığını anlamak için insan zihninin kesin …

11
Sınama amacıyla kesinlikle kodu değiştirmek kötü bir uygulama mıdır?
Bir programcı meslektaşımla birlikte çalışan bir kod parçasını sadece test edilebilir hale getirmek için değiştirmenin iyi mi yoksa kötü bir uygulama mı olduğu konusunda tartışmalıyım (örneğin, birim testleri aracılığıyla). Benim fikrim elbette, iyi nesneye yönelik ve tabii ki yazılım mühendisliği uygulamalarını sürdürme sınırları dahilinde ("her şeyi halka açık yapma" değil). …


9
Neden kısmi sınıflar kullanılıyor?
Anladığım kadarıyla, partialanahtar kelime bir sınıfın birkaç kaynak dosya arasında bölünmesine izin vermekten başka bir şey yapmaz. Bunu kod organizasyonu dışında yapmak için herhangi bir sebep var mı? Bunun için oluşturulan UI sınıflarında kullanıldığını gördüm. Tam bir anahtar kelime oluşturmak için kötü bir neden gibi görünüyor. Bir sınıf birden fazla …

5
Neden C # ile 'using' direktifini kullanmıyorsun?
Büyük bir C # projesinde mevcut kodlama standartları, 'tür' direktifinin kullanılmasını yasaklayan, tüm tür adlarının tam olarak nitelendirilebileceği kuralını içerir. Yani, tanıdık değil: using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); (Muhtemelen varde yasak olması sürpriz değildir .) Sonunda: System.Collections.Generic.List<string> myList = new System.Collections.Generic.List<string>(); Bu, yazımda% 134'lük …

7
C # 'daki uzatma yöntemlerine sahip arabirimler yerine soyut sınıflar ne zaman kullanılır?
"Soyut sınıf" ve "arabirim" benzer kavramlardır; arabirim ikisinin daha soyut olmasını sağlar. Farklılaşan bir faktör, soyut sınıfların gerektiğinde türetilmiş sınıflar için yöntem uygulamaları sağlamasıdır. Bununla birlikte, C # 'da, bu farklılaşma faktörü, arayüz yöntemleri için uygulamaların sağlanmasına olanak tanıyan uzatma yöntemlerinin tanıtımıyla azaltılmıştır. Bir başka farklılaşma faktörü, bir sınıfın sadece …


8
Adlandırma sorunları: “Bir şeyler”, “Bir şeyler” olarak yeniden adlandırılmalı mıdır? [kapalı]
Bob Amca'nın Temiz Koddaki isimler hakkındaki bölümü , çoğunlukla Macarca notaları ile ilgili olan isimlerdeki kodlamalardan kaçınmanızı önerir. Ayrıca Iöneki arayüzlerden kaldırmayı da belirtiyor , ancak bunun örneklerini göstermiyor. Aşağıdakileri varsayalım: Arayüz kullanımı temel olarak bağımlılık enjeksiyonuyla test edilebilirliği sağlamaktır. Çoğu durumda, bu tek bir uygulayıcı ile tek bir arayüze …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.