0318 is, as 연산자, IEquatable<T> 인터페이스
2021. 3. 18. 11:24ㆍC#/수업내용
public class Unit:IEquatable<Unit>
{
public string ID
{ get; private set;
}
public string Name
{
get; set;
}
public Unit(string id,string name)
{
this.ID = id;
this.Name = name;
Console.WriteLine("Unit 생성자 호출:{0} {1}", this.ID,this.Name);
}
//IEquatable 인터페이스 구현
public bool Equals(Unit other)
{
if (other == null)
{
return false;
}
if (this.ID == other.ID)
{
return true;
}
else { return false; }
}
public override bool Equals(object obj)
{
if (obj == null)
return false;
Unit unitObj = obj as Unit;
if (unitObj == null)
{
return false;
}
else
{
return Equals(unitObj);
}
}
}
public App()
{
Console.WriteLine("App");
Guid guid=Guid.NewGuid();
string id = guid.ToString();
//Console.WriteLine(id);
for (int i = 0; i < 3; i++)
{
Console.WriteLine(Guid.NewGuid().ToString(), "홍길동");
}
//Unit 객체 생성
Unit unit1 = new Unit("8abdbd04 - c81f - 4a90 - 9d8d - db5486664c75", "홍길동");
Unit unit2 = new Unit("1d2f626c - 4909 - 467e-95be - 953254404905", "홍길동");
Unit unit3 = new Unit("d7c2ec90-c2e1-4c2d-a519-ab00d647d421", "홍길동");
List<Unit> units = new List<Unit>();
units.Add(unit1);
units.Add(unit2);
units.Add(unit3);
Unit unit = new Unit("1d2f626c - 4909 - 467e-95be - 953254404905", "홍길동");
if (units.Contains(unit))
{
Console.WriteLine("Found {0}, id: {1}", unit.Name, unit.ID);
}
else
{
Console.WriteLine("Not Found id:{0}", unit.ID);
}
}
'C# > 수업내용' 카테고리의 다른 글
0318 다차원 배열 연습 10개 (0) | 2021.03.18 |
---|---|
0318 다차원 배열 ★ (0) | 2021.03.18 |
0317 Property 속성/Stack 클래스/Queue 큐 (0) | 2021.03.17 |
0317 Abstract (0) | 2021.03.17 |
0317 인터페이스/Virtual (0) | 2021.03.17 |