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

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

4
Какой способ прервать цикл чтения является предпочтительным?
Когда вам нужно перебрать читателя, где количество элементов для чтения неизвестно, и единственный способ сделать это - продолжить чтение до конца. Это часто место, где вам нужен бесконечный цикл. Существует Всегда trueчто указывает на то , должно быть , breakили returnзаявление где - то внутри блока. int offset = 0; …

2
Реализовать класс типов Haskell с интерфейсом C #
Я пытаюсь сравнить классы типов Haskell и интерфейсы C #. Предположим, что есть Functor. Haskell: class Functor f where fmap :: (a -> b) -> f a -> f b Как реализовать этот тип класса в качестве интерфейса в C #? Что я пробовал: interface Functor<A, B> { F<B> fmap(Func<A, …
13 c#  haskell 

4
Является ли linq более эффективным, чем кажется на поверхности?
Если я напишу что-то вроде этого: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) Это так же, как: var results1 = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue) results1.Add(t); var results2 = new List<Thing>(); foreach(var t in results1) if(t.IsSomeOtherValue) results2.Add(t); Или под покровами есть какая-то магия, которая работает …
13 c#  linq 

1
Почему Решарпер предпочитает «как» вместо «есть»?
Когда я пишу такой код, где obj является локальной переменной: if (obj is IMyInterface) { var result = (IMyInterface)obj; // .... } Решарпер предлагает преобразовать его в код, подобный следующему: var result = obj as IMyInterface; if (result != null) { // ... } Я предпочитаю первое, поскольку оно не …
13 c#  resharper 

2
Как C ++ обрабатывает множественное наследование с общим общим предком?
Я не парень C ++, но я вынужден думать об этом. Почему множественное наследование возможно в C ++, но не в C #? (Я знаю о проблеме алмазов , но я не об этом здесь спрашиваю). Как C ++ разрешает неоднозначность идентичных сигнатур методов, унаследованных от нескольких базовых классов? И …

2
Каков наилучший подход для комментариев встроенного кода?
Мы проводим рефакторинг 20-летней устаревшей кодовой базы, и я обсуждаю с моим коллегой формат комментариев в коде (plsql, java). Для комментариев нет формата по умолчанию, но в большинстве случаев люди делают что-то подобное в комментарии: // date (year, year-month, yyyy-mm-dd, dd/mm/yyyy), (author id, author name, author nickname) and comment Предлагаемый …

4
Должны ли интерфейсы расширяться (и при этом наследовать методы) других интерфейсов
Хотя это общий вопрос, он также специфичен для проблемы, с которой я сейчас сталкиваюсь. В настоящее время у меня есть интерфейс, указанный в моем решении под названием public interface IContextProvider { IDataContext { get; set; } IAreaContext { get; set; } } Этот интерфейс часто используется во всей программе, и …
13 c#  design  interfaces 

6
Ожидаемое поведение, когда запрос на коллекцию будет иметь нулевые элементы
Допустим, вам дано следующее ... List<Thing> theThings = fubar.Things.All(); Если бы нечего было возвращать, чего бы вы ожидали от fubar.Things.All ()? Редактировать: Спасибо за мнения. Я подожду немного и приму запись с наибольшим количеством взлетов. Я согласен с ответами, особенно теми, которые предлагают пустую коллекцию. Поставщик предоставил API с несколькими …
13 java  c# 

4
Зачем использовать string.Empty over «» при присваивании строковому объекту
Я запускаю StyleCop над своим кодом, и одна из рекомендаций SA1122 - использовать string.Empty вместо "" при назначении пустой строки значению. Мой вопрос: почему это считается лучшей практикой? Или это считается лучшей практикой? Я предполагаю, что между этими двумя утверждениями нет разницы в компиляторе, поэтому я могу только думать, что …
13 c# 

3
Как я могу протестировать звук?
Я унаследовал небольшой проект и хочу одновременно его расширить и стабилизировать, написав модульные тесты для всего нового кода, который я добавляю. Первый класс TypedAudioCreatorсоздает аудиофайлы, и это оказалось очень легко проверить первым и написать код для второго. Однако когда пришло время писать TypedAudioPlayer, я понятия не имел, как можно это …
13 c#  tdd 

8
Практичный способ хранения «достаточно большого» объема данных, который почти никогда не изменяется?
Думайте с точки зрения предварительно вычисленных таблиц поиска или чего-то еще. В какой момент имеет смысл использовать базу данных вместо значений жесткого кода в моем приложении? Значения не собираются меняться, и они приятно отделены от разработчиков обслуживания. 100 значений, 1К, 10К, 100К? Я хочу хранить около 40 тыс. Значений. Прямо …

7
Хорошо ли переводится C # на C ++? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Мои уроки программирования в школе были на C ++, но в последние несколько …
13 c#  c++  experience 

3
Что я должен включить в комментарии к документации XML?
Я пытаюсь лучше документировать свой код, особенно когда речь идет о XML-комментариях к ученикам, но часто это кажется глупым. В случае обработчиков событий соглашение об именах и параметры стандартны и понятны: /// <summary> /// Handler for myCollection's CollectionChanged Event. /// </summary> /// <param name="sender">Event Sender</param> /// <param name="e">Event Arguments</param> private …
13 c#  coding-style 

2
Зачем нужен шаблон репозитория в NHibernate?
Я читаю официальное Ваше первое приложение на основе NHibernate . Хотя учебник хорош и легок для понимания, мне интересно, почему используется шаблон Repository. В различных Add, Update, Removeметоды в ProductRepositoryреализации, код почти идентичен - все они используют транзакции, а разница в «мясо» , то есть вызов session.SaveINT Addметод, session.Deleteв removeметоде. …
13 c#  .net  nhibernate 

4
Является ли это «запахом шаблона» для размещения в вашей модели геттеров типа «FullName» или «FormattedPhoneNumber»?
Я работаю над приложением ASP.NET MVC, и у меня появилась привычка вставлять то, что кажется полезным и удобным средством получения, в мои классы моделей / сущностей. Например: public class Member { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; …

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