Структура данных в оперативной памяти - PullRequest
6 голосов
/ 01 июля 2011

Я хотел бы построить структуру данных таблицы в памяти с 4 столбцами, чтобы я мог искать значения на основе любой комбинации столбцов (например, с помощью linq). Есть ли встроенный тип данных для этого или я должен создать его сам (очевидно, я не могу)?

Ответы [ 8 ]

5 голосов
/ 01 июля 2011

Если вы не имеете в виду что-то конкретное, я бы объявил тип с 4 свойствами с подходящими именами и типами, т.е.

public class SomethingSuitable {
    public int Foo {get;set;}
    public string Bar {get;set;} 
    public DateTime Blap {get;set;}
    public float Blip {get;set;} 
}

и использовал бы любой список / массив / словарь и т. Д. По мере необходимости или просто

data.Single(x => x.Bar == "abc");

и т. Д.

4 голосов
/ 01 июля 2011

Проверка DataTable класс.

3 голосов
/ 01 июля 2011

Я полагаю, вы, вероятно, хотите использовать что-то вроде List<Tuple<T1,T2,T3,T4>>

3 голосов
/ 01 июля 2011

Если вы используете .Net Framework 4.0, вы можете использовать Tuple!

Смотрите здесь:

Кортеж в C # 4.0

2 голосов
/ 01 июля 2011

Вы можете использовать объект DataTable, чтобы сделать это. Смотри: http://download.microsoft.com/download/5/8/6/5868081c-68aa-40de-9a45-a3803d8134b8/linq_over_dataset_for_csharp_developers.doc

2 голосов
/ 01 июля 2011
1 голос
/ 01 июля 2011

Вы можете использовать DataTable или даже заполнить List<FourColClass>, которые будут соответствовать типам данных вашего требования.FourColClass будет классом со свойствами в качестве ваших столбцов.

1 голос
/ 01 июля 2011

Как насчет просто:

var dataStructure = new[] {
    new { col1 = "something", col2 = "something else", col3 = 12, col4 = true },
    new { col1 = "ha", col2 = "ha ha", col3 = 356, col4 = false },
    new { col1 = "grrr", col2 = "grr grr", col3 = 213, col4 = true }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...