2013-06-03 1 views
4

Я разрабатываю приложение C# в visual studio 2010. В этом приложении я получаю некоторые данные в следующем формате. Мне нужно проанализировать данные.Анализ данных вложенных списков в C#

Формат данных:

List, item 3(upto n..) 
     data1 
     List, item 3(upto n..) (as data2) 
      data1 
      data2 
      List, item 3(upto n..) (as data3) 
       data1 
       data2 
       data3 
     data3 

можно использовать многомерный (зубчатая) массив, список <>, словарь и т.д .. для этого. Но
Вопрос

Каков наилучший и оптимизированный способ разобрать форматированные данные? Какой тип данных я должен использовать?

Любая помощь или предложения приветствуются.

Заранее спасибо ...

+0

Что _format_ это, XML? –

+0

@TimSchmelter Нет. Я получаю эти данные из сети. И это один пользовательский протокол. –

+0

Массивы не похожи на то, чтобы быть хорошим, если вы не знаете заранее, сколько предметов вы ожидаете. Более богатый тип коллекции кажется более подходящим. Единственный способ узнать список закончился его идентификацией? Является ли первая строка отличной (без скобок)? – rene

ответ

0

Я хотел бы использовать пользовательские структуры данных что-то вроде кода ниже. Интерфейс не требуется строго говоря, но он делает вашу структуру данных немного более гибкой, если вам нужно начать обработку более сложных пакетов.

EDIT: Внутренние пакеты должны быть коллекция

public interface IPacket 
{ 
    String Data { get;set; } 
    IList<IPacket> InnerPackets {get;set;} 
} 

public class Packet : IPacket 
{ 
    public String Data { get;set; } 
    public IList<IPacket> InnerPackets {get;set;} 
} 
+0

Мой вопрос лучше и оптимизированный способ анализа данных и какой тип данных использовать заполнение и чтение этих данных. –

+0

Я думаю, что лучшая структура данных будет зависеть от того, что вам нужно делать с данными. Какими операциями вы должны заниматься, данные. Для начала я, вероятно, начну с простого списка . Я бы сказал, что вы, вероятно, преждевременно оптимизируете свое решение. –