C#/자료구조
[C#] List : 찾기
무오_
2023. 7. 13. 18:22
1. Contains
static void Main(string[] args)
{
List<int> i_list = new List<int>();
i_list.Add(100);
i_list.Add(200);
i_list.Add(300);
i_list.Add(400);
for (int i = 0; i < i_list.Count; i++)
{
Console.WriteLine($"i_list[{i}] = {i_list[i]}");
}
Console.WriteLine("\n=========== Contains ===========\n");
Console.WriteLine($"Contains : i_list with 200 is {i_list.Contains(200)}");
Console.WriteLine($"Contains : i_list with 220 is {i_list.Contains(220)}");
}

2. Find
using System.Collections.Generic;
public class Part : IEquatable<Part>
{
public int Id;
public string Name;
public Part(int id, string name)
{
Id = id;
Name = name;
}
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: 1234, name: "set parameter"));
parts.Add(new Part(id: 1334, name: "explict casting"));
parts.Add(new Part(id: 1434, name: "input stream"));
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"));
foreach (Part part in parts)
{
Console.WriteLine(part.ToString());
}
Console.WriteLine("\n=========== Find ===========\n");
Console.WriteLine($"Find : Part where name contains \"stream\"\n\n{parts.Find(x=>x.Name.Contains("stream"))}");
}
