Вопросы с тегом «c#»

C # - это многопарадигмальный управляемый объектно-ориентированный язык программирования со сборкой мусора, созданный Microsoft параллельно с платформой .NET.

3
Это хорошая практика, чтобы обернуть связанный набор свойств в свою собственную структуру / класс?
Написание объекта User в Swift, хотя мой вопрос касается любого строго типизированного языка. Пользователь может иметь несколько ссылок (FacebookProfile, InstagramProfile и т. Д.). Несколько вопросов по этому поводу. Это хорошая практика, чтобы обернуть ссылки в свой собственный объект? struct User { var firstName: строка var lastName: строка var email: string …

2
Что именно происходит, когда поток ожидает задачу внутри цикла while?
Поработав некоторое время с асинхронным / ожидающим паттерном в 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в моем собственном приложении, но для целей моего приложения я могу …

3
Использование интерфейсов для слабосвязанного кода
Фон У меня есть проект, который зависит от использования определенного типа аппаратного устройства, хотя на самом деле не имеет значения, кто делает это аппаратное устройство, если оно делает то, что мне нужно. При этом даже два устройства, которые должны делать одно и то же, будут иметь различия, если они не …

3
Свойства Stubbing с частными сеттерами для тестов
У нас есть объект 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); И открытый интерфейс Projects имеет такой метод: 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 А Mealимеет коллекцию RecipesиIngredients А 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
В модульном тестировании зачем мне дважды создавать репозиторий?
На днях я немного читал о модульном тестировании и видел несколько примеров, когда люди создают интерфейс репозитория (т.е. IExampleRepository), а затем создают реальный репозиторий ( public class ExampleRepository : IExampleRepository) и репозиторий, который будет использоваться для модульного тестирования ( FakeExampleRepository : IExampleRepository). В IExampleRepositoryних были реализованы те же методы, что …

4
Разница между атомарной работой и безопасностью потока?
Из обсуждения, которое я видел, кажется, что атомарная работа и безопасность потоков - это одно и то же, но многие люди говорят, что они разные. Может кто-нибудь сказать мне разницу, если есть один?

4
Почему бы не использовать неуправляемый безопасный код в C #
В C # есть опция для выполнения кода без проверки. Как правило, делать это не рекомендуется, так как управляемый код намного безопаснее и преодолевает множество проблем. Однако мне интересно, если вы уверены, что ваш код не вызовет ошибок, и вы знаете, как обращаться с памятью, то почему (если вам нравится …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.