I'm trying to sort through a 2d list in C#. I have code written that lets me create a list from data pulled from a CSV file, however I'm stuck on the function to sort them.

The list details the shop ID, item, and price, and is formatted thusly:

```
1,shirt,5
1,pants,3
2,hat,3

```

I'm trying to find a way to take a user input, say 'shirt' and return the ID of the shop, and the price. How do I do this?

Here is the full code.

```
namespace Shop
{
public class ShopPick
{

    private class Shop
    {
        public int ShopId { get; set; }
        public Dictionary<string, decimal> Goods { get; set; }
    }

    private readonly List<Shop> _Shops = new List<Shop>();
    public void ReadShopData(string filePath)
    {
        try
        {
            var records = File.ReadLines(filePath);

            foreach (var record in records)
            {
                var data = record.Split(',');
                var ShopId = int.Parse(data[0].Trim());
                var Shop = _Shops.Find(r => r.ShopId == ShopId);

                if (Shop == null)
                {
                    Shop = new Shop { Goods = new Dictionary<string, decimal>() };
                    _Shops.Add(Shop);
                }

                Shop.ShopId = ShopId;
                Shop.Goods.Add(data.Skip(2).Select(s => s.Trim()).Aggregate((a, b) => a.Trim() + "," + b.Trim()), decimal.Parse(data[1].Trim()));
            }

        }
        catch (FileNotFoundException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

    static void Main(string[] args)
    {
        var ShopPicker = new ShopPick();

        ShopPicker.ReadShopData(
            Path.GetFullPath(
                Path.Combine(
                AppDomain.CurrentDomain.BaseDirectory, @"../../../../Shop_data.csv")
                )
            );

        // Item is found in Shop 2 at price 6.50
        var bestShop = ShopPicker.PickBestShop("gac");

        Console.WriteLine(bestShop.Item1 + ", " + bestShop.Item2);

        Console.WriteLine("Done!");
        Console.ReadLine();
    }

    public Tuple<int, decimal> PickBestShop(string items)
    {

        string input = Console.ReadLine();
        string[] choices = input.Split(',');

        foreach(var Shop in _Shops)
        {
        }

        return new Tuple<int, decimal>(0, 0);
    }

}

```

}

The function PickBestShop is where I am stuck