Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- C++
- Visual Studio
- list
- 네트워크 용어
- 호스트 주소
- c# list
- list 사용법
- 서브넷
- IP주소
- TCP/IP
- Parse 사용법
- C# Find
- List 정렬
- c#
- 호스트
- InsertRange
- 서브넷 마스크
- BFS
- Tostring 사용법
- 네트워크
- List 추가
- 알고리즘
- OSI 3계층
- AddRange
- C# Contains
- List 찾기
- 백준
- List 제거
- 기본 게이트웨이
- DP
Archives
- Today
- Total
CodeLabs
[C#] List : 정렬 본문
Sort
public class Part : IEquatable<Part>, IComparable<Part>
{
public int Id;
public string Name;
public Part(int id, string name)
{
Id = id;
Name = name;
}
public int SortByNameAscending(string name1, string name2)
{
return name1.CompareTo(name2);
}
public int CompareTo(Part comparePart)
{
if (comparePart == null)
return 1;
else return Id.CompareTo(comparePart.Id);
}
public bool Equals(Part? other)
{
if (other == null) return false;
return (Id.Equals(other.Id));
}
public override bool Equals(object? obj)
{
if (obj == null) return false;
Part? objAsPart = obj as Part;
if (objAsPart == null) return false;
else return Equals(objAsPart);
}
public override int GetHashCode()
{
return Id;
}
public override string ToString()
{
return $"ID : {Id} Name : {Name}";
}
}
static void Main(string[] args)
{
List<Part> parts = new List<Part>();
parts.Add(new Part(id: 1454, name: "output stream"));
parts.Add(new Part(id: 1534, name: "main function"));
parts.Add(new Part(id: 1634, name: "shift operator"));
parts.Add(new Part(id: 1234, name: "set parameter"));
parts.Add(new Part(id: 1334, name: "Explict casting"));
parts.Add(new Part(id: 1434, name: "input stream"));
foreach (Part part in parts)
{
Console.WriteLine(part.ToString());
}
Console.WriteLine("\n=========== parts is Sorting By parts.Id (1 -> 9)===========\n");
parts.Sort();
foreach (Part part in parts)
{
Console.WriteLine(part.ToString());
}
Console.WriteLine("\n=========== parts is Sorting By parts.Name (upper -> lower, a -> z)===========\n");
parts.Sort(delegate(Part x, Part y)
{
if (x.Name == null && y.Name == null) return 0;
else if (x.Name == null) return -1;
else if (y.Name == null) return 1;
else return x.Name.CompareTo(y.Name);
});
foreach (Part part in parts)
{
Console.WriteLine(part.ToString());
}
}
'C# > 자료구조' 카테고리의 다른 글
[C#] List 사용법 (0) | 2023.07.15 |
---|---|
[C#] List : 찾기 (0) | 2023.07.13 |
[C#] List : 제거 (0) | 2023.07.12 |
[C#] List : 추가 (0) | 2023.07.10 |