Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в чем ошибка?
 
double[][] w = new double [classC][compC];
 
Error: "Не допустимый спецификатор ранга: требуеться , или ]".

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 21:07 21-12-2011
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike
 
Различают 2 понятия  
1 Двумерный массив
2 Массив массивов
 
Несмотря на то что на бумажке они выглядят одинаково, в памяти это будут разные структуры.
 
Первое инициализируется так :

Код:
double[,] w = new double [2,2];

 
второе так :

Код:
double[][] w = new double [2][];

 
 
такую запись:

Код:
double[][] w = new double [classC][compC];  

 компилятор не пропускает потому что она не позволяет детерминировать размеры всех подмассивов, которые могут отличатся дрдруга.

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 08:21 22-12-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
насколько я помню, то Dispose для IContainer реализуется как-то так:
Код:
protected override void Dispose(bool disposing)
   {
      if (disposing)
      {
         if (components != null)
            components.Dispose();
         base.Dispose(disposing);
      }
   }
 
   private System.ComponentModel.IContainer components = null;
вот только как для приложения WinForm реалуземого на JScript.NET сделать то же? согласно msdn это будет выглядеть как
Код:
protected override function Dispose (disposing : Boolean) : void {}
, но засада в base. куда рыть?

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 14:58 27-12-2011
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
д

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 22:53 29-12-2011 | Исправлено: LuckyStrike, 13:39 10-01-2012
Macht59

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос по реализации паттерна Singleton.
Почему он работает?
 

Код:
 
    public class Singleton
    {
        /// Защищенный конструктор нужен, чтобы предотвратить создание экземпляра класса Singleton
        protected Singleton() { }
 
        private sealed class SingletonCreator
        {
            private static readonly Singleton instance = new Singleton();
            public static Singleton Instance  
            {  
                get  
                {  
                    return instance;  
                }  
            }
        }
 
        public static Singleton Instance
        {
            get { return SingletonCreator.Instance; }
        }
 
        public int PropertyForTests { get; set; }
    }
 

 
Ведь, каждый раз при вызове свойства Instance выполняется строка  

Код:
 
private static readonly Singleton instance = new Singleton();
 

 
Мне так кажется (и я скорее всего ошибаюсь) что каждый раз создается новый экземпляр класса Singleton. Поясните почему я не прав.
 
 

Всего записей: 9 | Зарегистр. 17-03-2011 | Отправлено: 03:28 06-01-2012 | Исправлено: Macht59, 03:35 06-01-2012
Molniev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Macht59

Цитата:
private static readonly Singleton instance = new Singleton();      
 Мне так кажется (и я скорее всего ошибаюсь) что каждый раз создается новый экземпляр класса Singleton. Поясните почему я не прав.

Нет. Вы абсолютна правы)) new - вызывает конструктор и пытается создать новый объект класса (странно, что это факт вызывает вопрос). Но доступного то конструктора нету - вот ничто и не работает.
 
Ваш коды должен выглядеть примерно в таком ключе:

Код:
            Singleton s = Singleton.Instance;
            s.PropertyForTests = 0;

Т.е. метод Instance статический, его можно вызывать через имя класса. Он то через метод SingletonCreator создаст если надо экземпляр объекта и выдаст его наружу. А дальше с инициализированным объектом и можно работать.
Хочу обратить внимание, что в вашем коде повторный вызов Instance создаст новый Singleton. Что мне представляется довольно оригинальным виденьем этого паттерна))
Так же хочу обратить внимание на возможности поисковых систем: к примеру этот поисковый запросhttp://www.bing.com/search?q=Singleton+C%23&go=&form=QBLH&filt=all седьмой строкой выдает нормальную статью
 http://www.c-sharpcorner.com/Blogs/7695/singleton-in-C-Sharp.aspx по теме.
 
Ну и наконец:

Код:
 
    class Program
    {
        static void Main(string[] args)
        {
            Singleton.PropertyForTests = 0;
        }
    }
    public static class Singleton
    {
        public static int PropertyForTests { get; set; }
    }
 

Зачем извращаться с конструкторами если статические классы и есть реализация этого паттерна в чистом виде?

Всего записей: 176 | Зарегистр. 13-03-2008 | Отправлено: 11:17 06-01-2012
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
*facepalm*
 
Macht59
По поводу вашего вопроса  

Цитата:
Почему он работает?  

 
instance  это статический член класса SingletonCreator. Статические члены инициализируются только один раз. Вне зависимости от колличества обращений, или колличества создаваемых экземпляров класса к которому они принадлежат.
 
Molniev

Цитата:
Зачем извращаться с конструкторами если статические классы и есть реализация этого паттерна в чистом виде?

 
не смотря на кажущююся похожесть, статический класс и синглтон все же разные вещи.
вот тут хорошо написано :
http://dotnet.dzone.com/news/c-singleton-pattern-vs-static-

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 23:48 06-01-2012 | Исправлено: May_Johnson, 00:02 07-01-2012
Molniev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
May_Johnson
Я понимаю разница между и несколько погорячился отписывая, что это реализация в чистом виде. В итоге написанл неправильно)) Просто для большого класса задач, где подходит паттерн одиночки достаточно статического класса или же достаточно при небольших изменениях логики работы с ним.

Всего записей: 176 | Зарегистр. 13-03-2008 | Отправлено: 11:49 07-01-2012
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
товарищи, кто-нибудь встречал предварительную спецификацию c# 5 в сети ил все же это пока миф? четверку нашел на сайте M$, а пятерки нет, но есть несколько статей про грядущие новвоведения. в чем подвох?

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 22:38 11-01-2012
moverast



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите пожалуйста как на C# (Visual Studio 2010. FW 4.0) сохранить в файл дамп памяти процесса?
мне нужно сделать аналог функции в диспетчере задач "Создать файл дампа памяти".
как альтернатива можете подсказать как сделать дамп из командной строки(cmd).
PS: без привлечения сторонних программ, то есть средствами операционной системы(Windows 7/Server 2008 R2).

Всего записей: 590 | Зарегистр. 26-11-2007 | Отправлено: 12:07 12-01-2012
AftarJjet



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как скрыть эту беду от злобных антивирусов? Пароль - shell.
Это же не зловред...

Всего записей: 1829 | Зарегистр. 11-01-2009 | Отправлено: 02:04 23-01-2012
AftarJjet



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
...Это не зловред, это веб-шелл для удобной работы на сайтах, в среде .NET.

Всего записей: 1829 | Зарегистр. 11-01-2009 | Отправлено: 04:52 23-01-2012
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AftarJjet
программно? или вообще? если программно, то накатить простенький обфускатор, благо в .NET предусмотрено достаточно классов шифрования, а так... так, скорее это тема по вирям, и самым простым, что можно сделать - натянуть пакер\криптор, который обламывает рога антивирям.
 
кто-нибудь пользовался в своих проектах API'шной функцией DeviceIoControl? давеча возникла необходимость навалять программку, проверяющую открыт ли на данный момент лоток CD-привода или все же закрыт, в итоге вспомнил про DeviceIoControl, но до сего дня я не сталкивался с необходимость юзать ее в C#, так что, пожалуйста, если не сложно помогите разобраться с оной задачкой, а то после кодинга на ассемблере C# кажется чем-то с далекой планеты. заранее благодарен.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 11:17 23-01-2012
o_l_i_ve_r_89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В програме написаной на С# использую подключение по SSH к серверу, при выполнении функции: RunCommand(tcpdump -s 0 host IPadress -w file.cap &), программа дальше не выполняется, а зависает та как ждет пока нажмется Enter. Как можно сделать чтоб в этой же команде отправить enter или как то по другому чтоб программа выполнялась дальше.  Подскажите пожалуйста кто что знает по этому поводу.........

Всего записей: 2 | Зарегистр. 20-01-2012 | Отправлено: 13:15 23-01-2012
Andryshok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o_l_i_ve_r_89 а System.Diagnostics.Process.Start("прога...",strCmdText) не подойдет ?
 
А ентер мона отправить например так
SendKeys.SendWait("~"); - отправка Enter - вроде так

Всего записей: 649 | Зарегистр. 03-06-2009 | Отправлено: 10:36 25-01-2012
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
Как можно изменить формат вывода даты, уже всу голову сломал.
Переехали на новый сервак, и тперь у нас день, месяц год.
 
даты новостей в access, на сайте цепляются <%=rs("Date")%> и как переправить не понятно.

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 12:53 30-01-2012
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
siriusall

Цитата:
Как можно изменить формат вывода даты?
смотря что имеется в виду. если об использовании инвариантной культуры, то:
Код:
using System;
using System.Globalization;
...
DateTime now = new DateTime();
Console.WriteLine(now.ToString(CultureInfo.InvariantCulture));
а вообше, на msdn довольно много инфы касательно DateTime.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 13:25 30-01-2012 | Исправлено: ComradG, 13:26 30-01-2012
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
Спасибо, я читал там статьи, нашел вот :
<%    Session.LCID=2058
      'OR use the VBScript SetLocale function to set the locale.
      Response.Write FormatDateTime( Now(), 2)
      'The Constant 2 is for obtaining the vbShortDate.
%>
 
не помогло, и глоболизацию пробывал тоже не помогает
 
Страно то что в админке дата у новости кажет нормально, а на сайте в американский формат уходит.

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 13:31 30-01-2012
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
siriusall
Здесь есть пример использования формата даты и времени (Plat.Datau.ToString("yyyy-MM-dd HH:mm:ss.FFF")) и ссылка на страницу со справкой.

Цитата:
Страно то что в админке дата у новости кажет нормально, а на сайте в американский формат уходит.

Культура (CultureInfo) на машинах разная.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 13:47 30-01-2012 | Исправлено: Mextrom, 13:47 30-01-2012
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mextrom
Как она может быть разной? админка сайта и и сам сайт?

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 13:52 30-01-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru