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

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

4
Не правильно ли использовать флаги для «группировки» перечислений?
Насколько я понимаю, [Flag]перечисления обычно используются для вещей, которые можно комбинировать, когда отдельные значения не являются взаимоисключающими . Например: [Flags] public enum SomeAttributes { Foo = 1 << 0, Bar = 1 << 1, Baz = 1 << 2, } Если какое - либо SomeAttributesзначение может быть комбинацией Foo, Barи …
12 c#  .net  readability  enum 

5
Как избежать нарушения SRP в классе для управления кэшированием?
Примечание. Пример кода написан на c #, но это не должно иметь значения. Я поставил c # в качестве тега, потому что не могу найти более подходящий. Это о структуре кода. Я читаю Чистый код и пытаюсь стать лучшим программистом. Я часто сталкиваюсь с трудностями следования принципу единой ответственности (классы …

2
Как пишутся абстрактные интерфейсы базы данных для поддержки нескольких типов баз данных?
Как начать разработку абстрактного класса в более крупном приложении, которое может взаимодействовать с несколькими типами баз данных, такими как MySQL, SQLLite, MSSQL и т. Д.? Как называется этот шаблон проектирования и где он начинается? Допустим, вам нужно написать класс, который имеет следующие методы public class Database { public DatabaseType databaseType; …
12 c#  database 

5
Являются ли несмежные массивы быстродействующими?
В C #, когда пользователь создает List<byte>и добавляет к нему байты, есть вероятность, что ему не хватает места и ему нужно выделить больше места. Он выделяет двойной (или некоторый другой множитель) размер предыдущего массива, копирует байты и сбрасывает ссылку на старый массив. Я знаю, что список растет в геометрической прогрессии, …
12 c# 

2
Лучший способ скрыть ключ API в исходном коде
Мне нужны некоторые идеи о том, как защитить частный ключ API в приложении, особенно в приложении ac # .NET. Во-первых, я понимаю, что теоретически невозможно что-то скрыть в исходном коде, поэтому я пришел к другой идее, но я не уверен, насколько это правдоподобно. В любом случае, возможно ли каким-либо образом …
12 c#  api  authentication 

9
Как проектирование для наследования может вызвать дополнительные расходы? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Так что я хотел унаследовать от sealed classв csharp и сгорел. Нет никакого …
12 c#  inheritance 

4
Как бы я спроектировал интерфейс так, чтобы было понятно, какие свойства могут изменить их значение, а какие останутся постоянными?
У меня возникла проблема дизайна, касающаяся свойств .NET. interface IX { Guid Id { get; } bool IsInvalidated { get; } void Invalidate(); } Проблема: Этот интерфейс имеет два свойства только для чтения Idи IsInvalidated. Однако тот факт, что они доступны только для чтения, сам по себе не является гарантией …
12 c#  design  .net  properties 

5
Как перенести мое мышление с C ++ на C #
Я опытный разработчик C ++, знаю язык очень подробно и интенсивно использую некоторые его особенности. Также я знаю принципы OOD и шаблоны проектирования. Сейчас я изучаю C #, но не могу избавиться от ощущения, что не могу избавиться от мышления C ++. Я так сильно привязался к сильным сторонам C …

4
C # минимальная база данных SQL
Я работаю над небольшим проектом (не производственным), где мне нужно хранить достаточно данных, чтобы что-то вроде CSV было бы неэффективным для обработки, а сервер SQL / MySQL был бы слишком большим. Есть ли у .Net способ эффективно хранить несколько записей данных с возможностью запроса без необходимости управлять и подключаться к …
12 c#  database  sql 

2
Должны ли классы, перечисления и другие объекты помещаться в отдельные файлы?
Руководитель \ архитектор моей компании утверждает, что крупномасштабный проект легче понять, если «объекты, связанные логикой», помещать в один файл .cs. Я цитирую: «Всю структуру логики, интерфейса и класса можно увидеть в одном месте, это аргумент, который нельзя опровергнуть. Чтобы увидеть то же самое, но с кучей файлов, вам нужно использовать …

4
Есть ли правильный способ создать формат файла?
Я создаю собственный формат файла для приложения, написанного на C # .NET, для хранения сохраненной информации и, возможно, ресурсов линейного проекта. Есть ли стандарт, как это сделать каким-либо образом? Я просто собирал Serializeсвои объекты в двоичный файл и создавал заголовок, который говорил бы мне, как анализировать файл. Это плохой подход?

3
Для какой проблемной области создан LINQ?
Каждый раз, когда я вижу вопрос, опубликованный в Stack Overflow на C #, я вижу по крайней мере один или два опубликованных ответа, которые решают проблему с LINQ. Обычно люди с очень высокой репутацией используют LINQ как профессионалы. Итак, мой вопрос: для какой проблемной области предполагается использовать LINQ? Также на …

3
Доставка моей библиотеки первого класса. Любые ошибки, которые мне нужно знать?
Я веб-разработчик, собирающийся открыть достижение «First Class Library Опубликовал» в своей карьере, и я потею пулями (я всю ночь нервничал, нервничая). Я хотел бы использовать опыт сообщества, чтобы увидеть, есть ли у кого-нибудь какие-либо предложения или рекомендации, чтобы убедиться, что все идет как можно более гладко. Есть ли какие-то особенности …

5
Полезно ли использовать методы юнит-тестирования, где единственная логика - это охрана
Скажем, у меня есть такой метод: public void OrderNewWidget(Widget widget) { if ((widget.PartNumber > 0) && (widget.PartAvailable)) { WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber); } } У меня есть несколько таких методов в моем коде (передняя часть асинхронного вызова веб-службы). Я спорю, полезно ли их покрывать юнит-тестами. Да, здесь есть логика, но это только охранная …
12 c#  unit-testing 

4
Переключатель или словарь при назначении новому объекту
В последнее время я предпочел отображать отношения 1-1, используя Dictionariesвместо Switchоператоров. Я считаю, что это немного быстрее писать и легче мысленно обрабатывать. К сожалению, при сопоставлении с новым экземпляром объекта я не хочу определять его следующим образом: var fooDict = new Dictionary<int, IBigObject>() { { 0, new Foo() }, // …
12 c#  coding-style 

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