私はちょっと例を挙げて、from in select
について理解しています。linq - from in select
私の例:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
this.Name = name;
this.Age = age;
}
}
class Program
{
static void Main()
{
var list = new List<Person>();
list.Add(new Person(name: "Hermione", age: 20));
var persons = from p in list select new { p.Age, p.Name };
foreach (var person in persons)
{
Console.WriteLine($"Name: {person.Name}. Age: {person.Age}");
}
var _persons = from p in list select new Person(p.Name, p.Age);
foreach (var person in _persons)
{
Console.WriteLine($"Name: {person.Name}. Age: {person.Age}");
}
}
}
二人とも同じ結果があります。
名:ハーマイオニーを。年齢:20
私の質問:最初と2番目の違いは何ですか?そして、最初の/秒を使うときは?
OPが本当にこれを理解したい場合は、[do tPeek](https://www.jetbrains.com/decompiler/)を開き、OPの小さなアプリケーションを逆コンパイルし、コンパイラが生成したコードを見てください(dotPeekでコンパイラ生成コードを有効にする必要があります)。これはあなたが説明しようとしていることを実際に視覚化するのに役立ちます。 – CodingGorilla