Только для небольшого разнообразия... Вот дополнительный метод, который не использует regex.
public static class CamelSpaceExtensions
{
public static string SpaceCamelCase(this String input)
{
return new string(Enumerable.Concat(
input.Take(1), // No space before initial cap
InsertSpacesBeforeCaps(input.Skip(1))
).ToArray());
}
private static IEnumerable<char> InsertSpacesBeforeCaps(IEnumerable<char> input)
{
foreach (char c in input)
{
if (char.IsUpper(c))
{
yield return ' ';
}
yield return c;
}
}
}
Взгляните на sqlite Trace API. Вы должны реализовать обратный вызов самостоятельно.
void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
Функция обратного вызова, зарегистрированная в
sqlite3_trace ()
, вызывается в разное время, когда оператор SQL выполняетсяsqlite3_step ()
. Обратный вызов возвращает отрисовку текста оператора SQL в формате UTF-8, когда оператор сначала начинает выполнение. Дополнительные обратные вызовы происходят при вводе каждой запущенной подпрограммы.