나는이 간단한 클래스가 있습니다문자열에 concat linq 쿼리 결과?
class A
{
public string Name { get; set; }
public int Age { get; set; }
}
을 그리고 난 사전이 있습니다
Console.WriteLine (dic.Select(f=>f.Key+" =>"+f.Value.Age+" "+f.Value.Name));
:
Dictionary<string,A> dic = new Dictionary<string,A>();
dic["a"]=new A(){ Age=2, Name="aa"};
dic["b"]=new A(){ Age=3, Name="baa"};
dic["c"]=new A(){ Age=4, Name="caa"};
그리고 여기에 내가 눈에 보이는 형태의 모든 항목을 참조
출력 :
a =>2 aa
b =>3 baa
c =>4 caa
그러나 나는 그것을 문자열로 원합니다! 이 문자열 값과 같은
뭔가 :
@"a =>2 aa \n
b =>3 baa \n
c =>4 caa ";
내가 ToArray과 string.join와 함께 할 수 있습니다 :
var t=dic.Select(f=>f.Key+" =>"+f.Value.Age+" "+f.Value.Name);
Console.WriteLine (String.Join("\n",t.ToArray()));
하지만 더 나은 (짧고, 우아한이 확신) way 다음 문장 사용 :
dic.Select(f=>f.Key+" =>"+f.Value.Age+" "+f.Value.Name)
도움이 필요하십니까?
내가 잘못 생각한 것 같아요 :-(..... 내가 string.join을 가지고 있다고 말하지 ....... Linq의 선택 iterating입니다. 그리고 반복하면서 값에 문자열을 누적하고 싶습니다. –
@ 로이 나미르, 너는 ** (더 짧고 우아한) **, IMO, string.Join은 짧고 우아하다. 반복과 관련하여 숨겨진 (선택의 경우) 또는 기타 여부에 관계없이 다른 옵션은 반복을 수반합니다. – Habib
당신 말이 맞아요. 나는 그 말을해서는 안된다. 방금 열거 형을 통해 문자열의 누적을 배우고 tolist, string.join과 같은 외부 함수를 사용하지 않기를 원했습니다. –