Инициализация объектов со строгим контролем типов в LINQ к Объектам

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

, Но можно представить словарь, который может содержать набор значений, например:

Dictionary<String,List<Customer>>

Или словарь ключа и значения как словарь:

Dictionary<Customer,Dictionary<Order,OrderDetail>>

Затем у Вас будет словарь, который может иметь несколько значений.

11
задан Graham Conzett 17 September 2009 в 17:42
поделиться

2 ответа

ЕСЛИ вы добавляете конструктор без параметров в свой FooWrapper, а затем вместо этого используете инициализацию объекта, например:

public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
    IEnumerable<Bar> tempBar = ListBarsByUserID(userID);

    IEnumerable<FooWrapper> results = (
        from f in _entities.FooSet
        join b in tempBar on f.ID equals b.foos.ID
        select new FooWrapper()
        {
            FooObject = f, 
            BarObject = b
        });

    return results;
}
20
ответ дан 3 December 2019 в 01:16
поделиться

Попробуйте другую инициализацию:

public class FooWrapper
{
    public FooWrapper() { }

    public Foo FooObject { get; set; }
    public Bar BarObject { get; set; }
}


public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
    IEnumerable<Bar> tempBar = ListBarsByUserID(userID);

    IEnumerable<FooWrapper> results = (
        from f in _entities.FooSet
        join b in tempBar on f.ID equals b.foos.ID
        select new FooWrapper 
        {
            FooObject = f,
            BarObject = b
        });

    return results;
}
3
ответ дан 3 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

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