.NET “разделитель строки по умолчанию”?

Из всех способов сохранить дерево в RDMS наиболее распространенными являются списки смежности и вложенные наборы. Вложенные наборы оптимизированы для чтений и могут получить все дерево в едином запросе. Списки смежности оптимизированы для записей, и может добавленный к с в простом запросе.

Со смежностью перечисляет каждый узел, имеет столбец, который относится к родительскому узлу, или дочерний узел (другие ссылки возможны). Используя это можно создать иерархию на основе отношений отцов и детей. К сожалению, если Вы не ограничиваете глубину своего дерева, Вы не можете вытянуть все это в одном запросе, и чтение его обычно медленнее, чем обновление его.

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

я использовал вложенную модель набора и в то время как это сложно для чтения, оптимизируя большую иерархию, это стоит того. После того как Вы делаете несколько упражнений в вытягивании дерева и нумерации узлов, необходимо приобрести навык его.

Мое исследование в области этого метода, запущенного в этой статье: Руководящие Иерархические Данные в MySQL .

25
задан Hank 29 May 2012 в 15:33
поделиться

3 ответа

StringBuilder.AppendLine будет использовать Environment.NewLine , что означает « \ r \ n » для платформ, отличных от Unix, и « \ n ] "для платформ Unix.

Это всегда будет « \ r \ n » для компьютера Windows, но вы можете использовать Environment.NewLine вместо жестко заданного значения.

спасибо @Guffa за проверку

44
ответ дан 28 November 2019 в 18:13
поделиться

Это код из StringBuilder.AppendLine (строка) метод (с использованием .NET Reflector):

[ComVisible(false)]
public StringBuilder AppendLine(string value)
{
   this.Append(value);
   return this.Append(Environment.NewLine);
}

Как видите, он действительно использует свойство Environment.NewLine .

20
ответ дан 28 November 2019 в 18:13
поделиться

На Mac новой строкой была '\ r', то есть до тех пор, пока они не основали свою ОС на Linux. Теперь это '\ n'.

3
ответ дан 28 November 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: