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


Миничат

В онлайне 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