CodeLabs

[C#] List : 찾기 본문

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"))}");
    }

 

'C# > 자료구조' 카테고리의 다른 글

[C#] List 사용법  (0) 2023.07.15
[C#] List : 정렬  (0) 2023.07.14
[C#] List : 제거  (0) 2023.07.12
[C#] List : 추가  (0) 2023.07.10