Я не уверен ни в одном из остальных, но я знаю, что SQLite и MySQL не имеют никакого упорядочивания строки "по умолчанию". На тех двух диалектах, по крайней мере, следующий отрывок захватывает 15-ю запись от the_table, сортирующего по дате/времени, это было добавлено:
SELECT * FROM the_table ORDER BY added DESC LIMIT 1,15
(конечно, Вы должны были бы иметь добавленное поле DATETIME и установить его на дату/время, что запись была добавлена...)
System.Environment.StackTrace
Выдает текущий стек в виде строки.
Вы также можете использовать класс StackTrace
, как указывали другие, если у вас более продвинутые потребности.
Вы можете использовать:
StackTrace callStack = new StackTrace();
А затем получить доступ к определенному кадру стека:
StackFrame frame = callStack.GetFrame(1);
http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx
Из MSDN:
using System.Diagnostics;
StackTrace st = new StackTrace(true);
for(int i =0; i< st.FrameCount; i++ )
{
// Note that high up the call stack, there is only
// one stack frame.
StackFrame sf = st.GetFrame(i);
Console.WriteLine();
Console.WriteLine("High up the call stack, Method: {0}",
sf.GetMethod());
Console.WriteLine("High up the call stack, Line Number: {0}",
sf.GetFileLineNumber());
}
На самом деле это не замедлит работу вашего приложения, потому что информация о стеке вызовов не должна создаваться, она присутствует во время всей обработки вашего кода.