https://www.sysnet.pe.kr/3/0/5414 링크에 질문한 것은
public class Sale
{
// 점포 이름
public string ShopName { get; set; }
// 상품 종류
public string ProductCategory { get; set; }
// 매출액
public int Amount { get; set; }
public override string ToString()
{
return ShopName + "," + ProductCategory + "," + Amount;
}
}
처럼 작성해서 출력을 했습니다.
하지만 아래 예제에 있는 ArraySegment<int>는 제가 정의한 클래스가 아닌
이미 닷넷에서 제공하는 클래스인데
ToString을 어디에다 재정의해야 되는지
잘 모르겠습니다...
public class Hello1
{
public static void Main()
{
int[] array = { 10, 20, 30, 40, 50, 60, 70, 80, 90 };
List<ArraySegment<int>> list = new List<ArraySegment<int>>();
ArraySegment<int> segment1 = new ArraySegment<int>(array, 0, 2); // 10, 20
ArraySegment<int> segment2 = new ArraySegment<int>(array, 4, 3); // 50, 60, 70
list.Add(segment1);
list.Add(segment2);
for(int i = 0; i < list.Count; i++)
Console.WriteLine(list[i]);
}
}
말씀해주신 링크(
https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method)와 교재 ?WT.mc_id=DT-MVP-4038148"시작하세요! C# 8.0" 170 ~ 172쪽 모두 사용자 정의 클래스 예제인 것 같습니다 ㅠ_ㅠ
도움 부탁드립니다....
그리고 알려주신 예제를 foreach로 돌려보았습니다.
ArraySegment<int> elems = new ArraySegment<int>(new[] { 1, 2, 3 });
foreach (var item in elems)
{
Console.WriteLine(item);
}
[출력]
1
2
3
으로 출력이 되었습니다.
그래서 질문드린 예제도 foreach로 돌려보았으나
foreach (var item in list)
{
Console.WriteLine(item);
}
출력은 되지 않았습니다..
[최초 등록일: ]
[최종 수정일: 12/23/2020]