2014-05-16 5 views
1

다음 코드는 거의 완벽하게 작동하지만 다음과 같이 쉼표로 구분 된 이름 값 쌍 문자열을 반환합니다.값이 쉼표로 구분 된 문자열을 반환하십시오.

{ stringName = Fred }, 
{ stringName = Monkey Bars }, 
{ stringName = Eagles } 

는 내가 원하는 것은 단지 값의 쉼표로 구분 된 문자열입니다.

Fred, Monkey Bars, Eagles 

그리고 내 코드 나는 는 liftsOpens.LiftName 시도했다 그러나 나는 오류를 얻을 내가 를 교체 사용하거나 쉬운 방법이 할

var liftsOpens = 
    (from li in db.Lifts 
    where li.LiftStatusMorning == "Open" 
    select new {li.LiftName}).ToList(); 

var lom = string.Join(",", liftsOpens); 

?

답변

2

Linq 문에서 필요한 값을 포함하는 속성을 가진 익명 개체 목록을 선택합니다. 당신이 select li.LiftName 대신 select new {li.LiftName}을 시도 할 수

소우 그래서 ... 당신은 string.Join()
에 익명의 개체 목록을 전달하는하지만 난 당신이 문자열 (여기 익명 객체에 대한 필요가 없습니다)의 열거를 원하는 생각합니다. 당신이 .NET   < 4.0를 사용하는 경우

이, 당신이 제대로 string.Join() 작업을 대신 .ToList().ToArray()를 호출해야 (MSDN을 참조하십시오 .NET 3.5/.NET 4.0)

var liftsOpens = 
    (from li in db.Lifts 
     where li.LiftStatusMorning == "Open" 
     select li.LiftName) // <<== Select the string 
    .ToArray();   // <<== If .NET prior to 4.0 

var lom = string.Join(",", liftsOpens); 
+0

감사 chanp는 .NET 4.5 일 매력처럼! – Bojangles