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

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

3
Причини неінтуїтивної реалізації C # String.Split ()
У C #, якщо я хочу розділити stringінше, stringя повинен зробити щось подібне: testString.Split(new string[] { "anotherString" }, StringSplitOptions.None); З перевантаженої String.Splitдокументації MSDN ми бачимо реалізацію і чому такий дзвінок потрібно робити. Походячи з Python , мені важко правильно зрозуміти, чому такий дзвінок потрібен. Я маю на увазі, що я …

3
Чи є хорошою практикою вбудувати пов'язаний набір властивостей у власну структуру / клас?
Написання об’єкта User у Swift, хоча моє запитання стосується будь-якої сильно набраної мови. Користувач може мати купу посилань (FacebookProfile, InstagramProfile тощо). Кілька питань навколо цього. Чи корисна практика загортати посилання у власному об’єкті? User { var firstName: рядок var lastName: рядок var email: рядок var посилання: Посилання } Структурні посилання …

2
Що саме відбувається, коли потік очікує завдання всередині циклу?
Після деякого часу, маючи справу з асинхронною / очікуваною схемою C #, я раптом зрозумів, що я не знаю, як пояснити, що відбувається в наступному коді: async void MyThread() { while (!_quit) { await GetWorkAsync(); } } GetWorkAsync()передбачається повернути очікуване, Taskщо може або не спричинить перемикання потоку при виконанні продовження. …
10 c#  loops  async 

2
Чому директива "using" і "using" використовують одне і те ж ключове слово в C #?
usingДиректива дає нам доступ до типам , не використовуючи їх повністю кваліфіковані імена: using MyNamespace.Foo.Bar; usingЗаява діє як синтаксичний цукор для try/ finallyблоків , які забезпечують об'єкти утилізуються належним чином: using(var x = new MyDisposableClass()) { ... } Ці дві ситуації, схоже, не мають нічого спільного. Чому вони використовують одне …
10 c#  statement 

2
Чи погано створювати класи, єдиною метою яких є неявне перетворення в інший клас?
Уявіть ситуацію, коли ми використовуємо бібліотеку, яка дозволяє створювати Circleоб’єкти, де ви можете вказати радіус та центр кола, щоб визначити його. Однак чомусь він також приймає необхідний flavourпараметр. Тепер скажімо, що мені дійсно потрібно використовувати Circleв своєму власному додатку, але для цілей своєї програми я можу встановлювати аромат Flavours.Cardboardкожного разу. …

3
Використання інтерфейсів для слабо пов'язаного коду
Фон У мене є проект, який залежить від використання певного типу апаратного пристрою, хоча це неважливо, хто робить цей апаратний пристрій до тих пір, поки він робить те, що мені потрібно для цього. Зважаючи на це, навіть два пристрої, які повинні робити те саме, матимуть відмінності, коли вони не будуть …

3
Властивості заглушки з приватними установками для тестів
У нас є об’єкт public class MyObject{ protected MyObject(){} public string Property1 {get;private set;} public string Property2 {get;private set;} public string Property3 {get;private set;} public string Property4 {get;private set;} public string Property5 {get;private set;} public string Property6 {get;private set;} public string Property7 {get;private set;} public string Property8 {get;private set;} public …

1
Як уникнути балакучих інтерфейсів
Передумови: я розробляю серверну програму і створюю окремі DLL для різних підсистем. Для спрощення речей, скажімо, у мене є дві підсистеми: 1) Users2)Projects Загальнодоступний інтерфейс користувачів має такий спосіб, як: IEnumerable<User> GetUser(int id); Загальнодоступний інтерфейс Проектів має такий метод, як: IEnumerable<User> GetProjectUsers(int projectId); Так, наприклад, коли нам потрібно відобразити користувачів …

4
Цілеспрямовано збільшити винятки для використання вилову
Для типового if...elseоброблення з виключеннями обробляється чимось на зразок наступного прикладу рекомендована практика уникати дублювання коду? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } замість... try { if (GetDataFromServer()) { return ProcessData(); } else { return null; } …

7
Вкладені сутності та обчислення властивості сутності листів - підхід SQL або NoSQL
Я працюю над хобі-проектом під назвою Menu / Recipe Management. Так виглядають мої сутності та їх відносини. А Nutrientмає властивості CodeіValue У Ingredientколекції єNutrients A Recipeмає колекцію, Ingredientsа іноді може мати колекцію іншихrecipes A Mealмає колекцію RecipesтаIngredients A Menuмає колекціюMeals Відносини можна зобразити як На одній зі сторінок для вибраного …

2
Конвенція іменування змінних у мові програмування C # [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Я переглядаю відео на C # про змінні. Автор оголошує змінну всередині методу і …

4
Невже використання внутрішніх блоків області в межах функції погано?
Є деякі (досить рідкісні) випадки, коли існує ризик: повторне використання змінної, яка не планується повторно використовувати (див. приклад 1), або використовуючи змінну замість іншої, семантично близької (див. приклад 2). Приклад 1: var data = this.InitializeData(); if (this.IsConsistent(data, this.state)) { this.ETL.Process(data); // Alters original data in a way it couldn't be …

2
Власне власне іменування для відображення рядка, починаючи з числа
Переглядаючи деякі метадані камери в Windows File Properties, є (поряд із ще кількома) два з Propertiesназвою Фокусна відстань та фокусна відстань 35 мм . Я розробляю програмне забезпечення, яке використовуватиме ці два Properties. Поки я створив Propertyім'я FocalLengthдля першого, але, здається, не можу знайти належного імені для іншого. Я подумав …

4
Чому в модульному тестуванні я б створив сховище двічі?
Днями я читав трохи про Unit Testing і побачив кілька прикладів, коли люди створюють інтерфейс сховища (тобто IExampleRepository), а потім створюють реальне сховище ( public class ExampleRepository : IExampleRepository) і сховище, яке буде використовуватися для тестування одиниць ( FakeExampleRepository : IExampleRepository). У IExampleRepositoryних вони реалізовували ті ж методи, що й …


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