«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.

7
Amaçlanan davranışı yapmadan önce işlevlerin boş denetimler yapması gerekiyorsa, bu kötü tasarım mı?
Bu yüzden, bunun iyi mi yoksa kötü kod tasarımı mı olduğunu bilmiyorum, bu yüzden sormam daha iyi olur. Sık sık, sınıfları içeren veri işleme yöntemlerini oluşturuyorum ve elimden önce boş referanslar veya başka hatalar alamadığımdan emin olmak için çoğu zaman yöntemler üzerinde birçok kontrol yapıyorum. Çok basit bir örnek için: …
67 c#  design  validation 

10
Downcasting'in doğru kullanımı nedir?
Alt yayın, bir temel sınıftan (veya arayüzden) bir alt sınıfa veya yaprak sınıfına döküm yapmak anlamına gelir. Bir System.Objectbaşka yayın türünden başka bir gruba yayın yaparsanız aşağı akış örneği olabilir . Downcasting popüler değil, belki de bir kod kokusu: Nesne Yönelimli doktrin, örneğin downcasting yerine sanal veya soyut yöntemleri tanımlama …

16
Bir programcının bir dil ve çerçeve seçiminde ne kadar özgürlüğü olmalıdır?
Öncelikle C # odaklı bir şirkette çalışmaya başladım. Java ve JRuby'yi seven birkaç kişi var ama programcıların çoğunluğu C # gibi. İşe alındım çünkü web uygulamaları geliştirme konusunda çok deneyimim vardı ve JRuby on Rails veya nodejs gibi yeni teknolojilere yaslandım. Kısa bir süre içinde pek çok işin yapılmasına odaklanan …

12
Argümanlarını doğrulayan bir yapıcı SRP'yi ihlal ediyor mu?
Tek Sorumluluk Prensibi'ne (SRP) mümkün olduğunca bağlı kalmaya çalışıyorum ve delegelere büyük ölçüde güvenerek belirli bir düzende (yöntemlerin SRP'si için) alıştım. Bu yaklaşımın sağlam olup olmadığını veya bununla ilgili ciddi sorunlar olup olmadığını bilmek istiyorum. Örneğin, bir kurucu için girişi kontrol etmek için, aşağıdaki yöntemi tanıtabilirim ( Streamgiriş rastgele, herhangi …

12
Hata atıp atmamamız gerektiğini belirten bir bayrak olması
Kısa süre önce, bazı eski geliştiricilerin bulunduğu bir yerde çalışmaya başladım (yaklaşık 50+ yaşında). Sistemin çökemediği havacılık ile ilgili kritik uygulamalar üzerinde çalıştılar. Sonuç olarak, eski programcı bu şekilde kodlama eğilimindedir. Bir istisna atılıp atılmayacağını göstermek için nesnelere bir boolean yerleştirme eğilimindedir. Örnek public class AreaCalculator { AreaCalculator(bool shouldThrowExceptions) { …

11
Patronumu yeni projemiz için ANSI C'nin yetersiz olduğuna nasıl ikna edebilirim? [kapalı]
Birkaç ay önce, şirket içi geliştirilen test ekipmanlarını kontrol etmek ve bir dizi ölçüm kaydetmek için bir uygulama geliştirmeye başladık. Basit bir UI'ye sahip olmalı ve muhtemelen olması gereken sürekli kayıt nedeniyle konu gerektirecektir. Bu başvuru birkaç yıl boyunca kullanılacak ve bu süre zarfında birkaç bilgisayar bilimi öğrencisi tarafından sağlanacaktır. …


11
Büyük bir boole ifadesi, aynı yöntemden yordama yöntemlerine ayrılandan daha okunabilir mi? [kapalı]
Anlaması daha kolay, büyük bir boole ifadesi (oldukça karmaşık) ya da aynı ifadeyi yordama yöntemlerine (okumak için fazladan fazla kod) ayrıştırmak nedir? Seçenek 1, büyük boole ifadesi: private static bool ContextMatchesProp(CurrentSearchContext context, TValToMatch propVal) { return propVal.PropertyId == context.Definition.Id && !repo.ParentId.HasValue || repo.ParentId == propVal.ParentId && ((propVal.SecondaryFilter.HasValue && context.SecondaryFilter.HasValue && …
63 c#  readability 



6
C # neden Java'dan farklı olarak "yeni" ve "sanal + geçersiz kıl" anahtar kelimelerle yapıldı?
Java'da hiç orada virtual, new, overrideyöntem tanımı için anahtar kelimeler. Dolayısıyla bir yöntemin çalışmasının anlaşılması kolaydır. Eğer DerivedClass , BaseClass'ı uzatır ve aynı isimde ve BaseClass'ın aynı imzasına sahip bir metoda sahipse, geçersiz kılma, çalışma zamanı polimorfizminde (yöntemin olmaması şartıyla static) gerçekleşir. BaseClass bcdc = new DerivedClass(); bcdc.doSomething() // will …

17
Neden dev bir "switch" ifadesi yerine OO yaklaşımı kullanmalı?
Bir .Net, C # mağazasında çalışıyorum ve kodumuzda dev Switch deyimlerini daha fazla nesne yönelimli yaklaşımdan ziyade birçok "Case" ile kullanmamız konusunda ısrarcı bir iş arkadaşım var. Argümanı sürekli olarak bir Switch ifadesinin bir "cpu atlama tablosu" nu derlediği ve bu nedenle en hızlı seçenek olduğu gerçeğine dayanıyor (başka şeylerde …


9
Okunabilirliğe karşı korunma, iç içe geçmiş işlev çağrıları yazma özel vakası
İç içe işlev çağrıları için kodlama stilim şudur: var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); Kısa süre önce aşağıdaki kodlama tarzının kullanımda olduğu bir bölüme geçtim: var a = F(G1(H1(b1), H2(b2)), G2(c1)); Kodlama yöntemimin sonucu, …

6
Tüm istekler için yeni bir tek HttpClient örneği oluşturmalı mıyız?
Son zamanlarda, buHttpClient şekilde kullanmakla ilgili konular hakkında konuşan asp.net canavarlarından bu blog yazısına rastladım : using(var client = new HttpClient()) { } Blog postasına göre, HttpClienther isteğin ardından elden çıkarırsak TCP bağlantılarını açık tutabilir. Bu potansiyel olarak yol açabilir System.Net.Sockets.SocketException. Gönderi başına doğru yol HttpClient, soket israfını azaltmaya yardımcı …
57 c#  http-request 

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.