Как получить копию данных вместо ссылки с помощью linq / lambda в C #?

Есть ли простой способ просто получить копию данных вместо ссылки с помощью этого метода? Я попробовал .ToArray (). Where (), но похоже, что он проходит ссылка.

Пример:

static void Main(string[] args)
{
    List<ob> t = new List<ob>();
    t.Add(new ob() { name = "hello" });
    t.Add(new ob() { name = "test" });

    ob item = t.Where(c => c.name == "hello").First();

    // Changing the name of the item changes the original item in the list<>
    item.name = "burp";

    foreach (ob i in t)
    {
        Console.WriteLine(i.name);
    }

    Console.ReadLine();
}

public class ob
{
    public string name;
}
7
задан Uwe Keim 4 January 2012 в 09:20
поделиться