Конвертировать список в список в C # - PullRequest
0 голосов
/ 04 января 2019

Это отображение верно?Список может иметь несколько строк

Мне очень любопытно узнать, скажем, список содержит 3 строки, и все 3 строки будут отображены?Или нам нужен цикл?

public List<Data> DataDetails { get; set; }

public static DataDetails ToDataConvert ( this Datadto data)
{

 DataDetails = dto.DataDetails.Select(x => new Data()
                        {
                            Name = x.Name,
                            id = x.Id
                        })
                        .ToList()
}

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Похоже, вы хотите использовать метод расширения в c # и конвертировать список.Если это так, я предлагаю вам использовать ваш преобразованный список в качестве возвращаемого значения вашего метода.Мой метод расширения конвертирует объект типа List

namespace ServiceInterface.Models
{
public static  class ExtensionClass
{

    public static List<Customer> ConvertCustomer(this List<Customer> customers)
    {
        return customers.Select(
            c =>

            new Customer
            {
                FirstName = c.FirstName + " " + c.LastName,
                LastName = "",
                Gender = c.Gender
            }).ToList();
    }
}
}

Тогда вы можете написать, используя метод расширения следующим образом.Пожалуйста, не забудьте импортировать пространство имен вашего метода расширения.

using ServiceInterface.Models;
namespace consoleClient.Message_exe
{
    class StringTest
    {
    static void Main(string[] args)
    {
             List<Customer> customers = new List<Customer>()
        {
            new Customer{LastName="a", FirstName="b"},
            new Customer{LastName="c", FirstName="d"}
        };

    }
}

Результат.

enter image description here

0 голосов
/ 04 января 2019

Я не знаю, откуда это взялось dto (dto.DataDetails)

Это dto.DataDetails Зависит от того, сколько строк вы создали.

Ваш код:

DataDetails = dto.DataDetails.Select(x => new Data
                        {
                            Name = x.Name,
                            id = x.Id
                        })
                        .ToList()

Ваш DataDetails Зависит от этого public List<Data> DataDetails { get; set; } Список Data

В результате вашего DataDetails Зависит от этой части кода:

     {
         Name = x.Name,
          id = x.Id
     })

Если ваш Data класс выглядит следующим образом

public String Name {get;set;}
public int id{get;set;}
public String Address {get;set;}

Это означает, что вы не включили Address вашего Data класса в качестве примера.В результате вы можете получить Address, но он возвращает значение NULL.

Теперь, если ваш linq выглядит так:

dto.DataDetails.ToList()

, это будет включать все записи, которые вы хотелиполучить, но вам нужно использовать этот класс DataDetails в качестве переменной, например:

VarFromDataDetailsClass =  dto.DataDetails.ToList();

или

var Result =  dto.DataDetails.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...