Запитання з тегом «c#»

C # - це багатопарадигмна керована об'єктно-орієнтована мова програмування, що збирається сміттям, створена Microsoft паралельно з платформою .NET

13
Як зробити так, щоб тести на одиницях швидко працювали?
Ми досягли точки в нашому проекті, де у нас майже тисяча тестів, і люди перестали заважати виконувати їх, перш ніж робити реєстрацію, оскільки це займає так багато часу. У кращому випадку вони виконують тести, що стосуються фрагменту коду, який вони змінили, а в гіршому - просто перевіряють його без тестування. …
40 c#  unit-testing  tdd  nunit 

8
Чи можуть сучасні мови OO конкурувати з продуктивністю магазину C ++?
Я щойно помітив, що кожна сучасна мова програмування OO, якою я, принаймні, дещо знайома (що в основному є лише Java, C # і D), дозволяє коваріантні масиви. Тобто рядковий масив - це об'єктний масив: Object[] arr = new String[2]; // Java, C# and D allow this Коваріантні масиви - це …
40 c#  java  c++  d 

5
У чому полягає користь .Any () у списку C # <>?
Я обговорював це з колегами, і ми не змогли зрозуміти, яка користь .Anyдля тих чи інших даних List&lt;&gt;у C #. Ви можете перевірити дійсність елемента в масиві, як наступне твердження: if (MyList.Any()){ ...} //Returns true or false Що точно таке саме if (MyList.Count() != 0) { ... } і є …
40 c#  array  list 

3
Чому логічний оператор НЕ в мовах стилю С "!", А не "~~"?
Для двійкових операторів у нас є як бітові, так і логічні оператори: &amp; bitwise AND | bitwise OR &amp;&amp; logical AND || logical OR НЕ (одинарний оператор) поводиться по-іншому. Існує ~ для розрядних і! для логічного. Я визнаю, що НЕ є одинарною операцією на відміну від AND і OR, але …
39 java  c#  c++  c 

6
Переваги використання .dll-файлів над прив’язкою .cs-файлів до проектів (для моїх загальних допоміжних класів / методів розширення)
У мене є помічник проекту, який я використовую у всіх створених програмах. Він містить деякі методи розширення та купу загальних допоміжних класів, елементів управління тощо. Час від часу я оновлюю / розширюю хелперний проект. Зазвичай це невеликі та непов'язані проекти, і я єдина людина, яка працює над усіма ними. Я …
38 c#  dll 

5
Чому у C # немає локальної області застосування у блоках?
Я писав цей код: private static Expression&lt;Func&lt;Binding, bool&gt;&gt; ToExpression(BindingCriterion criterion) { switch (criterion.ChangeAction) { case BindingType.Inherited: var action = (byte)ChangeAction.Inherit; return (x =&gt; x.Action == action); case BindingType.ExplicitValue: var action = (byte)ChangeAction.SetValue; return (x =&gt; x.Action == action); default: // TODO: Localize errors throw new InvalidOperationException("Invalid criterion."); } } І …

5
Передати ідентифікатор або об’єкт?
Надаючи метод бізнес-логіки для отримання об'єкта домену, чи повинен параметр приймати об'єкт або ідентифікатор? Наприклад, чи слід це робити: public Foo GetItem(int id) {} або це: public Foo GetItem(Foo foo) {} Я вірю в передачу об'єктів навколо, у всій їх повноті, але як бути з цим випадком, коли ми отримуємо …

4
Чи погано мати громадські константи?
Це: public MyClass { public const string SomeString = "SomeValue"; } гірше за це: public MyClass { public static string SomeString { get{ return "SomeValue";}} } На обидва можна посилатися однаково: if (someString == MyClass.SomeString) ... Однак другий захист є власністю. Але насправді наскільки це краще, ніж const? Я навчився …
38 c# 

10
WPF vs. WinForms - перспектива програміста Delphi?
Я прочитав більшість основних тем на WPF vs. WinForms, і я потрапив у нещасну амбівалентність, до якої можна потрапити, вирішуючи між випробуваним і справжнім попереднім технологією (Winforms), і це його наступник (WPF). Я багаторічний програміст Delphi, який нарешті робить стрибок на C #. Мої колеги-програмісти Delphi там зрозуміють, що я …
38 c#  wpf  winforms  delphi  microsoft 

6
Хороший приклад складного коду з використанням TDD [закрито]
Що може бути хорошим прикладом використання TDD у великих, реальних, складних проектах? Усі приклади, які я бачив до цього часу, - це іграшкові проекти з метою книги чи паперу ... Чи можете ви назвати проект з відкритим кодом, який широко використовує TDD? Переважно на C ++, але я можу читати …
37 java  c#  open-source  c++  tdd 

5
Чи достатньо, щоб методи розрізняли лише за назвою аргументу (а не за типом)?
Чи достатньо, щоб методи розрізняли лише за назвою аргументу (а не типом) чи краще називати його більш чітко? Так , наприклад T Find&lt;T&gt;(int id)проти T FindById&lt;T&gt;(int id). Чи є якась вагома причина назвати це більш чітко (тобто додавати ById) проти збереження лише імені аргументу? Я можу подумати, коли підписи методів …

3
Кешування на рівні бізнесу проти кешування на рівні даних
Я завжди працював над проектами, де кешування здійснювалося на DAL, в основному саме тоді, коли ви збираєтесь здійснити виклик до бази даних, він перевіряє, чи є дані вже в кеші, і якщо вони є, він просто не робить дзвінок натомість повертає ці дані. Я нещодавно читав про кешування на рівні …

6
Який найкращий спосіб ініціалізувати посилання дитини на свого батька?
Я розробляю об'єктну модель, яка має безліч різних класів батьків / дітей. Кожен дочірній об’єкт має посилання на його батьківський об'єкт. Я можу придумати (і спробував) декілька способів ініціалізації батьківського посилання, але я знаходжу суттєві недоліки кожного підходу. З огляду на підходи, описані нижче, що найкраще ... або що ще …

5
Чи є гарною практикою створення ClassCollection іншого класу?
Скажемо, у мене Carклас: public class Car { public string Engine { get; set; } public string Seat { get; set; } public string Tires { get; set; } } Скажімо, ми створюємо систему щодо паркування, я буду використовувати багато Carкласу, тому ми робимо CarCollectionклас, він може мати кілька додаткових …

5
Я помиляюся, думаючи, що потрібне щось на кшталт AutoMapper - це ознака поганого дизайну?
Automapper - це "об'єкт-об'єктний картограф" для .Net, що означає копіювання об'єктів з класу в інший клас, який представляє те саме. Чому це завжди корисно? Чи дублювання класів завжди корисне / хороший дизайн?
35 c#  design  .net 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.