internal void ParseList(ScriptParser Parser, out ScriptNode[] Columns, out bool[] Ascending) { List <ScriptNode> ColumnList = new List <ScriptNode>(); List <bool> AscendingList = new List <bool>(); string s; do { ScriptNode Node = Parser.ParseIf(); switch (s = Parser.PeekNextToken().ToUpper()) { case "ASC": Parser.NextToken(); ColumnList.Add(Node); AscendingList.Add(true); s = Parser.PeekNextToken(); break; case "DESC": Parser.NextToken(); ColumnList.Add(Node); AscendingList.Add(false); s = Parser.PeekNextToken(); break; case ",": Parser.NextToken(); ColumnList.Add(Node); AscendingList.Add(true); break; default: ColumnList.Add(Node); AscendingList.Add(true); break; } }while (s == ","); Columns = ColumnList.ToArray(); Ascending = AscendingList.ToArray(); }