그래서 다음이 있습니다
UserData = (from r in results
from d in r.Details
from p in r.Payments
group d by new { r.id, r.Url, r.Name, p.Price, d }
into g
select new UserData
{
Id = g.Key.id,
Url = g.Key.Url,
Name = g.Key.Name,
Price = g.Key.Price
Details = g.key.d
}).ToList();
public class UserData
{
public string id { get; set; }
public string Url { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public List<Details> Details { get; set; }
}
내가하려는 것은 모든 세부 사항의 목록이 있지만 선택한 새 개체 내에 목록을 만들 수는 없습니다. 누구에게 조언이 있거나 비슷한 일을하는 방법을 알고 있습니까? 또는 내가 어디에서 잘못 가고 있습니까?
C #을 처음 사용하므로 내가하는 일에 대해 감사 할 것입니다.
내가 당신을 올바르게 이해했다면 Linq의 대답은
var details = list.Select(u => u.Details).ToList();
여기에 모든 코드가 정상적으로 실행됩니다.
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace ConsoleApp1 {
class Program
{
public class UserData
{
public string id { get; set; }
public string Url { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public List<Details> Details { get; set; }
}
public class Details
{
public string id { get; set; }
public string Url { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
static void Main(string[] args)
{
//init the list
var list = new List<UserData>()
{
new UserData()//1
{
id = "1",
Url = "some url 1",
Name = "name 1",Price = 0.1,
Details = new List<Details>(){
new Details()
{
id = "1",
Url = "some details url 1",
Name ="details name 1",
Price = 0.1
}
},
},
new UserData()//2
{
id = "2",
Url = "some url 2",
Name = "name 2",Price = 0.2,
Details = new List<Details>(){
new Details()
{
id = "2",
Url = "some details url 2",
Name ="details name 2",
Price = 0.2
}
},
}
};
//get only the details
var details = list.Select(u => u.Details).ToList();
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다