Простите великодушно, Алексей Немиро, но написав byte[] buffer = new byte[255];, вы никак не определили буфер в 256 байтов (или байт, не суть важно).
А Дмитрий Гавриленко посоветую посещать документацию на msdn. В частности вот Stream.ReadByte и Stream.Read. Там, там кстати все эти моменты написаны и есть примеры использования.
авторизацию писать нужно. вы какую-то литературу читали по этому поводу? в Asp.net есть Membership Api. есть еще дефолтная реализация. эта штука даже в базе может создать под себя нужные таблицы. А можно написать свою реализацию MembershipProvider с нужной логикой. И потом использовать его при авторизации формами.
будте осторожны с Count(). если только посчитать количество файлов то сойдет. если после этого идет какая то обработка этих файлов например в foreach то у вас получится два прохода по IEnumerable. то есть лучше в этом же фориче посчитать инкрементом за один проход.
Значит как сказал sonic_spb дело в матери, может брак какой проявился. а может это такой кованый план по поднятию продаж от MSI: гарантия кончилась - покупай новую :-)
эм, похоже на таймер. может в биосе есть такая опция? может стоить сбросить его к дефолту? я видел на одном форуме похожую проблему, но у него сразу после сборки она выключалась после 30 минут. короче он ее поменял в магазе и все.
вот в некоторых Sony Xperia есть Расширенный режим энергосбережения — делает две штуки: 1) отрубает передачу данных когда экран выключен. Это логично. 2) Работает тупо как Таск киллер. (При переводе телефона в режим ожидания подключение Wi-Fi®, передача данных и неиспользуемые приложения приостанавливаются). кто знает что другие производители понапихали в свои продукты?
Еще могу добавить что все методы из Linq унифицированы и работают с IEnumerable. и с ними нужно быть поосторожнее, потому как может случиться перебор всей коллекции несколько раз. А вообще есть в ReSharper функция просмотра исходных кодов. Decompile sorces в оциях найдите. и через Shift+Left mouse click можно открывать много всякого интересного для себя кода из библиотек microsoft-а
Если не читали, то прочитайте Рихтера "C# via CLR". там многие тонкости описаны, которые могут повлиять на производительность. да и вообще рассказывают про то как та или иная конструкция работает. Сам много почерпнул из этой книги.
Поправочка, в том коде что я привел ошибка - int не может быт null, так что там должен быть некий ссылочный тип в виде значения. но суть та же. не нужно перебирать словарь чтобы узнать есть ли по данному ключу значение.
Зачем вы делаете перебор словаря? сейчас поясню как ваш код работает. foreach принимает объект реализующий IEnumerable. Этот объект не может ничего делать кроме как переходить и переходить к следующему элементу пока есть следующий. таким образом вы перебераете все элемены. и потом найдя его выполняете поиск в словаре по ключу. и потом продолжаете перебор значений пока перечисление не кончится тем самым вы убили всю производительность поиска по словарю.
не делайте так больше. делайте вот так. предположим есть словарь Dictionary тогда
int result:
dictionary.TryGetValue(key, out result)
if (result!=null) {
/*выполняем нужные действия*/
}
таким способом вы улучшите производительность конкретно этого куска кода и аналогичных ему если они есть.
если нужно узнать есть ли ключ в словаре то используйте метод ContainsKey.
Также не следует перебирать элементы коллекции HashSet. Вообще воздержитесь от лишних переборов. и запомните, что Linq-методы такие как First, FirstOrDefault, Last, LastOrDefault, Count(не путать со свойством), и некоторые другие тоже делают перебор значений коллекции и проверяют на совпадение с неким предикатом, так как source у них также IEnumerable
ладно, проехали с литералами. ) вам не нужно иметь доступ к памяти. вам нужно подобно decimal сделать. там внутри есть 3 32-битных числа и смещение дробной части, ну еще и знак. вот вам нужно просто так же сделать только взять не 3 32-битных числа, а сколько угодно и точность какую угодно можно взять. в исходники decimal можно подглядеть с помощью определенных средств.
@genI3 можно задать через конструстор с 3-мя int параметрами, парметром знака и параметром степени 10. а еще можно вписать через литерал как decimal dec = 0.99999999999999999999999999999m
@genl3 с дробными числами там все как-то хитро в компьютерах.была статья на хабре про это.
Про реализацию не знаю. в .Net есть только реализация целых чисел достаточно больших. класс BigInteger называется. а вот дробные придется реализовывать вручную. По моему правильно это называется "Длинная арифметика". Гугл вам подскажет думаю.