Расскажи друзьям


Миничат

В онлайне 0 чел.

Для добавления необходима регистрация или зайти под своим логином.

Опрос

Хотели бы вы сами добавлять вопросы с ответами на сайт?

Да, у меня скопились лишние вопросы с ответами

Я добавлять не буду, но хотелось бы чтоб другие это делали

Я доверяю только администратору этого сайта

Мне ничего не нужно

Умные цитаты

Адвокат человек, который помогает вам получить всё, что ему причитается.
Л. Питер.

Список тегов Добавить пост
Просто начни вводить вопрос в поле и получи ответ

Все посты Новости Вопросы
Аватар пользователя Зиги зиги

Заметки C#

Выход из вложенного цикла(двойной цикл)

Имеем код

for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
       if (i > 5 && j == 7)
       {
           //действия
          //выход из цикла
       }
   }
}

Использую break внутри второго цикла даст только выход из него

for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
       if (i > 5 && j == 7)
       {
           //действия
          /*
            При такой конструкции мы будем выходить из внутреннего цикла (j), но внешний так и
            продолжит свою работу(i)
          */
          break;//выход из цикла
       }
   }
}

Для полного выхода из цикла есть несколько вариантов.
1) применить оператор goto

for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
       if (i > 5 && j == 7)
       {
           //действия
          goto Found;//выход из цикла
       }
   }
}
Found:
    //едем дальше



2) Затолкать цикл в функции и использовать оператор return

public void Loop()
{
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			if (i > 5 && j == 7)
			{
				//действия
				return;//выход из цикла
			}
		}
	}
}

3) Использование дополнительного флага для первого цикла

var flag = false;
for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
       if (i > 5 && j == 7)
       {
           //действия
          //выход из цикла
          flag = true;
          break;
       }
   }
   if(flag == true) break;
}

4) Последний вариант. Присвоить i максимально возможное значение при первом выходе из цикла.

for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
       if (i > 5 && j == 7)
       {
           //действия
          //выход из цикла
          i = Int32.MaxValue - 1;
          /*
          Это примерно тоже само что сделать 
          i = 1000000;
          */
       }
   }
}

Комментарии 0 2019-10-29 04:10:33 5
Аватар пользователя Зиги зиги

Заметки Oracle

Немного по Oracl'у

Как отключить режим ARCHIVELOG
-- Остановим БД, она и так не работает:
SHUTDOWN IMMEDIATE;
-- Запустим экземпляр ORACLE:
STARTUP NOMOUNT;
-- Смонтируем базу. Менять режим архивирования следует в состоянии MOUNT:
ALTER DATABASE MOUNT;
-- Отключаем режим ARCHIVELOG
ALTER DATABASE NOARCHIVELOG;
-- Откроем базу:
ALTER DATABASE OPEN;


Расширение табличного пространства TEMP.DBF
Была проблема с тем что табличное пространство TEMP1.DBF занимал много места, решением было пересоздать пространство на новое(TEMP2.DBF), и удалить старое. В итоге прошло всё успешно, но забыл указать авторасширение табличного пространства. Данный код решает эту проблему:
ALTER DATABASE DATAFILE 'путь_до_файла/TEMP2.dbf' AUTOEXTEND ON NEXT 100М MAXSIZE UNLIMITED;


А теперь о пересоздании и переназначении табличного пространства TEMP1.DBF.
Создаём пространство TEMP2.DBF
CREATE 
TEMPORARY TABLESPACE "TEMP2" TEMPFILE 'путь_к_файлу/TEMP2.dbf' SIZE 100M AUTOEXTEND ON MANAGEMENT LOCAL UNIFORM SIZE
22M;

После делаем его default-м
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP2"

Далее удаляем старое пространство
--Приведенный оператор автоматически уничтожит файлы данных вместе с табличным пространством.
DROP TABLESPACE TEMP1 INCLUDING CONTENTS AND DATAFILES; 

После можем физически удалить файл TEMP1.DBF из папки где он находится.

Комментарии 0 2019-07-04 04:30:28 5
Аватар пользователя Зиги зиги

PHP Заметки

Удаление файлов по маске в PHP

//Удаляем все файлы по маске
array_map("unlink", glob($_SERVER['DOCUMENT_ROOT'].'/your/folder/file_name*.txt'));


glob ( string $pattern [, int $flags = 0 ] ) : array

Функция glob() ищет все пути, совпадающие с шаблоном pattern согласно правилам, используемым в функции glob() библиотеки libc, которые похожи на правила, используемые большинством распространённых оболочек.

unlink ( string $filename [, resource $context ] ) : bool

Удаляет файл filename. Функция похожа на функцию unlink() Unix в C. При неудачном выполнении будет вызвана ошибка уровня E_WARNING.

array_map ( callable $callback , array $array1 [, array $... ] ) : array

array_map — Применяет callback-функцию ко всем элементам указанных массивов

Описание
glob – получает массив всех файлов, удовлетворяющих нашей маске.

array_map – прогоняет функцию unlink, которая позволяет в PHP удалить файл, по элементам массива, выданного функцией glob.

Все очень просто: сколько файлов требуется удалить по данной маске, столько раз и вызовется функция unlink. А сама функция unlink может удалять 1 файл за раз.

Комментарии 0 2019-06-26 23:34:53 5
Аватар пользователя Зиги зиги

C# Заметки

Нано заметки по С#

Сегодняшняя дата в string
string nowdate = DateTime.Now.ToShortDateString();
//nowdate  = 15.10.2018

Сегодняшняя дата со временем в string

string nowdate = DateTime.Now.ToShortTimeString();
//15.10.2018 21:37

Последний день нынешнего месяца
int nowdate = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
//31

Последний день предыдущего(и не только) месяца
 string nowdate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(-1).AddDays(-1).ToShortDateString();
//31.05.2019

Комментарии 0 2018-10-15 11:41:52 5