Pytania otagowane jako c#

C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET

7
Jeśli funkcje muszą wykonać sprawdzanie wartości zerowej przed wykonaniem zamierzonego zachowania, czy to zły projekt?
Więc nie wiem, czy to dobry, czy zły projekt kodu, więc pomyślałem, że lepiej zapytam. Często tworzę metody, które przetwarzają dane z wykorzystaniem klas i często przeprowadzam wiele kontroli metod, aby upewnić się, że nie otrzymam pustych referencji lub innych błędów. Dla bardzo podstawowego przykładu: // fields and properties private …
67 c#  design  validation 

10
Jakie jest właściwe zastosowanie downcastingu?
Downcasting oznacza rzutowanie z klasy podstawowej (lub interfejsu) do podklasy lub klasy liścia. Przykładem downcast może być rzutowanie z System.Objectinnego typu. Downcasting jest niepopularny, może pachnie kodem: doktryna obiektowa preferuje na przykład definiowanie i wywoływanie metod wirtualnych lub abstrakcyjnych zamiast downcastingu. Jakie, jeśli w ogóle, są dobre i właściwe przypadki …



12
Posiadanie flagi wskazującej, czy powinniśmy zgłaszać błędy
Niedawno zacząłem pracować w miejscu z kilkoma znacznie starszymi programistami (około 50+). Pracowali nad krytycznymi aplikacjami dotyczącymi lotnictwa, w których system nie mógł ulec awarii. W rezultacie starszy programista ma tendencję do kodowania w ten sposób. Zwykle umieszcza w obiektach wartość logiczną, aby wskazać, czy wyjątek powinien zostać zgłoszony, czy …

11
Jak przekonać mojego szefa, że ​​ANSI C jest nieodpowiedni do naszego nowego projektu? [Zamknięte]
Kilka miesięcy temu zaczęliśmy opracowywać aplikację do kontroli opracowanego przez nas sprzętu testowego i rejestrować zestaw pomiarów. Powinien mieć prosty interfejs użytkownika i prawdopodobnie wymagałby wątków ze względu na ciągłe nagrywanie, które musi mieć miejsce. Ta aplikacja będzie używana przez kilka lat i będzie utrzymywana przez wielu studentów informatyki w …

5
Jaka jest różnica między implementacją interfejsu jawnie lub niejawnie?
W Visual Studio mogę kliknąć interfejs prawym przyciskiem myszy i wybrać opcję Implementuj interfejs lub Implementuj interfejs jawnie. public class Test : ITest { public string Id // Generated by Implement Interface { get { throw new NotImplementedException(); } } string ITest.Id // Generated by Implement Interface Explicitly { get …
64 c#  syntax 

11
Czy duże wyrażenie logiczne jest bardziej czytelne niż to samo wyrażenie podzielone na metody predykatów? [Zamknięte]
Co jest łatwiejsze do zrozumienia, duża instrukcja boolowska (dość złożona) lub ta sama instrukcja w podziale na metody predykatów (dużo dodatkowego kodu do odczytania)? Opcja 1, duże wyrażenie logiczne: private static bool ContextMatchesProp(CurrentSearchContext context, TValToMatch propVal) { return propVal.PropertyId == context.Definition.Id && !repo.ParentId.HasValue || repo.ParentId == propVal.ParentId && ((propVal.SecondaryFilter.HasValue && …
63 c#  readability 



6
Dlaczego C # został stworzony przy użyciu słów kluczowych „new” i „virtual + override” w przeciwieństwie do Java?
W Javie nie istnieją virtual, new, overridekluczowe dla określenia metody. Tak więc działanie metody jest łatwe do zrozumienia. Ponieważ jeśli DerivedClass rozszerza BaseClass i ma metodę o tej samej nazwie i tej samej sygnaturze BaseClass, wówczas nadpisanie nastąpi w czasie polimorfizmu w czasie wykonywania (pod warunkiem, że metoda nie jest …



9
Czytelność a łatwość konserwacji, specjalny przypadek pisania zagnieżdżonych wywołań funkcji
Mój styl kodowania dla zagnieżdżonych wywołań funkcji jest następujący: 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); Niedawno zmieniłem na dział, w którym bardzo często stosuje się następujący styl kodowania: var a = F(G1(H1(b1), H2(b2)), G2(c1)); …

6
Czy powinniśmy utworzyć nową pojedynczą instancję HttpClient dla wszystkich żądań?
ostatnio natknąłem się na ten post na blogu od potworów asp.net, który mówi o problemach z używaniem HttpClientw następujący sposób: using(var client = new HttpClient()) { } Zgodnie z postem na blogu, jeśli usuwamy HttpClientpo każdym żądaniu, może utrzymać otwarte połączenia TCP. Może to potencjalnie prowadzić do System.Net.Sockets.SocketException. Prawidłowym sposobem …
57 c#  http-request 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.