여러 값을 가질 수있는 키를 출력해야합니다. 하지만 색인을 기반으로 인쇄해야합니다. 예 : 인덱스 0을 전달하면 A를 확인한 다음 값을 출력해야합니다. 1 대 n 것처럼.인덱스를 기준으로 그룹에서 값을 가져 오는 중
.FIRST()를 사용하고 있기 때문에 아래 예도 첫 번째로 인쇄하고 있습니다. 여러 값으로 N. 1 키를 1로 인쇄하려면 어떻게합니까?
recordList = new List<MyData>();
MyData add = new MyData { Data1 = "A", Data2 = "A is for Apple" };
recordList.Add(add);
MyData add1 = new MyData { Data1 = "A", Data2 = "B is for Ball" };
recordList.Add(add1);
MyData add2 = new MyData { Data1 = "A", Data2 = "C is for Cat" };
recordList.Add(add2);
MyData add3 = new MyData { Data1 = "A", Data2 = "D is for Doll" };
recordList.Add(add3);
MyData add4 = new MyData { Data1 = "B", Data2 = "A is for Apple" };
recordList.Add(add4);
MyData add5 = new MyData { Data1 = "B", Data2 = "B is for Ball" };
recordList.Add(add5);
MyData add6 = new MyData { Data1 = "B", Data2 = "C is for Cat" };
recordList.Add(add6);
MyData add7 = new MyData { Data1 = "B", Data2 = "D is for Doll" };
recordList.Add(add7);
var data = recordList.AsParallel().ToLookup(x => x.Data1, (x) =>
{
return (from m in recordList where m.Data1 == x.Data1 select new MyData { Data2 = m.Data2, Data1 = m.Data1 }).First();
});
var output = data["A"];
foreach(var print in output)
{
Console.WriteLine(print.Data1 + " "+ print.Data2);
}
I가 Acheive 원하는 결과는 다음
A A is for Apple
B is for Ball
C is for Cat
D is for Doll
대신 인쇄 I의 다른 방법이 통과 할 때문에. 그래서 하나의 키를 가지고 해당 값을 가져야합니다. Data1
속성에 의해
조회에 색인을 전달할 수 있습니까? 예를 들어 "A"를 전달하는 대신 색인으로 가져와야합니다. – user726720
@ user726720'lookup.ElementAt (1)'? 'B'로 아이템을 얻고 싶다면. 하지만 그건 나에게 의미가 없습니다. 조회의 힘이 그룹화 값에 따라 항목을 가져오고 있습니다. –
저는 찾고있는 것과 가장 가까운 색인을 반환하는 binarysearch 방법을 사용합니다. 이 인덱스 값을 가져 와서 MYDATA.Data1과 MYData.Data2를 가져오고 싶지만, 조회를 통해 요소 만 가져올 수 있다고 생각합니다. 왜 열쇠를 가져올 수 없어요. Console.writeline (data2.Data1, data2.Data2)에있는 경우 – user726720