2014-10-29 4 views
0

데이터를 읽는 목록이 있습니다. 목록을 출력하는 방법을 확인했지만 다른 사람들을 위해 일하는 것이 나를 위해 일하지 않습니다. 나는 내가 보았던 모든 예를 하나도 발견하지 못했다. 그런 예를 찾을 수 없다. 어떤 도움목록이 올바르게 출력되지 않습니다.

output

감사 :

여기
private static void AddCar(Vechicle _Motor, List<Vechicle> vehicles) 
     { 
      //int number = 1; 
      Console.Clear(); 

      Vechicle v = new Vechicle(); 
      Console.Write("/////////////////////ADDING CAR DETAILS\\\\\\\\\\\\\\\\\\\\\\\\"); 
      Console.Write("\n\nEnter Make: "); 
      v.Make = Console.ReadLine();    
      Console.Write("\n\nEnter Model: "); 
      v.Model = Console.ReadLine();    
      Console.Write("\n\nEnter Year: "); 
      v.Year = Console.ReadLine(); 
      vehicles.Add(v); 
      Console.Clear(); 
     foreach (Vechicle value in vehicles) 
      { 
       Console.WriteLine(vehicles); 
      } 


     } 

이 출력됩니다 :

여기 내 코드입니다!

지금 변경 :

foreach (Vechicle value in vehicles) 
      { 
       Console.WriteLine(vehicles); 
      } 

TO : 코멘트에 제안하지만 지금은 먹을수록

foreach (Vechicle value in vehicles) 
      { 
       Console.WriteLine(value); 
      } 

이 기본적 Console.WriteLine으로

result

+0

오타가있는 것 같습니다. 콘솔 WriteLine (차량)'Console.WriteLine (값)'이어야합니다. –

+0

@AlexeiLevenkov 출력으로 make, model & year (목록으로 읽음)로 읽은 출력을 원합니다. 해당 복제물에 대한 링크가있을 수 있습니까? 아니요, 절대로 효과가 없습니다. 필자가 본 다른 모든 예제는 매개 변수에서 'in'다음에 변수를가집니다. – COYG

+1

예제가 잘못되었습니다. @ p.su.w.g이 맞습니다. – Blorgbeard

답변

3

: 당신이 고정 withd 또는 기본이 아닌 숫자 형식으로 뭔가를하려는 경우 +에 비해 g 옵션 .

몇 가지 예제 코드.

public class Vehicles 
    { 
     public string Make; 
     public string Model; 
     public string Year; 

     public override string ToString() 
     { 
      return Make + " " + Model + " " + Year; 
     } 
    } 

ToString 메서드를 Vehicles.ToString()을 호출 할 때마다 재정의하면 모델 작성 연도가 반환됩니다.

+0

전설, 완벽하게 작동했습니다. – COYG

+1

도움이 될만한 문제가 없습니다. – deathismyfriend

6

ToString를 호출합니다 on 인수 ed는 - 컬렉션을 전달할 것이므로 간단히 클래스 이름을 출력하는 ToString의 기본 구현을 사용합니다.

하면 Vehicle 우선 간단하게 통과보다 약간 저렴한 출력 (see other answer for implementation)와 .ToStringvalueConsole.WriteLine에 : .ToString()를 들어

foreach (var value in vehicles) 
    { 
     Console.WriteLine("Make: {0}, model:{1}", value.Make, value.Model); 
    } 

가 사용을 고려 : 당신이 직접 무엇을해야

foreach (var value in vehicles) 
{ 
    Console.WriteLine(value); 
} 

또는 인쇄 String.Format은 더 많은 형식을 제공합니다. 당신은 당신의 차량 클래스의 ToString 메서드를 오버로드 또는 메이크업 모델과 올해의 문자열을 반환하는 방법을 만들 필요가

public class Vehicles 
{ 
    .... 
    public override string ToString() 
    { 
     return String.Format("Make: {0}, model:{1}", Make, Model); 
    } 
} 
+0

고마워, 내가 제안한 변경 사항을 만들었지 만 나는 여전히 잘못된 결과물을 얻고 있었다. 그런 다음 당신의 제안을 다른 대답과 함께 사용했고 효과가있었습니다. – COYG

+0

+1 원래 문제를 해결할 때. – deathismyfriend

+0

@deathismyfriend "차량이 합리적인 출력으로 .ToString을 재정의하는 경우 :"이것은 귀하가 귀하의 게시물에서 말한 것일 수 있습니다. 그러나이 양식에서는 이해할 수 없습니다. – COYG

관련 문제