原址:http://www.csharpwin.com/dotnetspace/879.shtml
public class Employee { private Guid _id; private string _name; public Guid ID { get { return _id; } set { _id = value; } } public string Name { get { return _name; } set { _name = value; } } }
var v = new Employee{ ID = Guid.NewGuid(), Name = "Zhang San" };
var v = new{ID = Guid.NewGuid(), Name= "Zhang San" };
var v = new{ID = Guid.NewGuid(), Name= "Zhang San" };
public sealed class <>f__AnonymousType0<<>j__AnonymousTypeTypeParameter1, <>j__AnonymousTypeTypeParameter2> { // Properties public <>j__AnonymousTypeTypeParameter1ID{ get; set; } public j__AnonymousTypeTypeParameter2 Name{ get; set; } // Fields private j__AnonymousTypeTypeParameter1 <>i__AnonymousTypeField3; private j__AnonymousTypeTypeParameter2 <>i__AnonymousTypeField4; }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Artech.NewFeatureInCSharp.Library { public class Employee { private Guid _id; private string _name; public Guid ID { get { return _id; } set { _id = value; } } public string Name { get { return _name; } set { _name = value; } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Artech.NewFeatureInCSharp.Library { public static class Utility { public static object Anonymous_GetEmployee(Guid id, string name) { return new { ID = id, Name = name }; } public static Employee GetEmployee(Guid id, string name) { return new Employee { ID = id, Name = name }; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Artech.NewFeatureInCSharp.Library; namespace Artech.NewFeatureInCSharp.ConsoleApp { class Program { static void Main(string[] args) { var v1 = new{ID = Guid.NewGuid(), Name= "Zhang San" }; var v2 = new { ID = Guid.NewGuid(), Name = "Li Si"}; var v3 = Utility.Anonymous_GetEmployee(Guid.NewGuid(), "Wang Wu"); Console.WriteLine("var v1 = new{ID = Guid.NewGuid(), Name= \"Zhang San\" };"); Console.WriteLine("var v2 = new{ID = Guid.NewGuid(), Name= \"Li Si\" };"); Console.WriteLine("var v3 = Utility.Anonymous_GetEmployee(Guid.NewGuid(), \"Wang Wu\");"); Console.WriteLine("\nv1.GetType() = {0}", v1.GetType()); Console.WriteLine("v2.GetType() = {0}", v2.GetType()); Console.WriteLine("v3.GetType() = {0}", v3.GetType()); Console.WriteLine("\nobject.ReferenceEquals(v1.GetType(),v2.GetType()) = {0}", object.ReferenceEquals(v1.GetType(),v2.GetType())); Console.WriteLine("object.ReferenceEquals(v1.GetType(),v3.GetType()) = {0}", object.ReferenceEquals(v1.GetType(), v3.GetType())); Console.WriteLine("\n\n"); var v4 = new Employee { ID = Guid.NewGuid(), Name = "Zhang San" }; var v5 = new Employee { ID = Guid.NewGuid(), Name = "Li Si" }; var v6 = Utility.GetEmployee(Guid.NewGuid(), "Wang Wu"); Console.WriteLine("var v4 = new Employee{ID = Guid.NewGuid(), Name= \"Zhang San\" };"); Console.WriteLine("var v5 = new Employee{ID = Guid.NewGuid(), Name= \"Li Si\" };"); Console.WriteLine("var v6 = Utility.GetEmployee(Guid.NewGuid(), \"Wang Wu\");"); Console.WriteLine("\nv4.GetType() = {0}", v4.GetType()); Console.WriteLine("v5.GetType() = {0}", v5.GetType()); Console.WriteLine("v6.GetType() = {0}", v6.GetType()); Console.WriteLine("\nobject.ReferenceEquals(v4.GetType(),v5.GetType()) = {0}", object.ReferenceEquals(v4.GetType(), v5.GetType())); Console.WriteLine("object.ReferenceEquals(v4.GetType(),v6.GetType()) = {0}", object.ReferenceEquals(v4.GetType(), v6.GetType())); } } }
var v1 = new{ID = Guid.NewGuid(), Name= "Zhang San" }; var v2 = new { ID = Guid.NewGuid(), Name = "Li Si"}; var v3 = Utility.Anonymous_GetEmployee(Guid.NewGuid(), "Wang Wu");
Console.WriteLine("\nv1.GetType() = {0}", v1.GetType()); Console.WriteLine("v2.GetType() = {0}", v2.GetType()); Console.WriteLine("v3.GetType() = {0}", v3.GetType());
Console.WriteLine("\nobject.ReferenceEquals(v1.GetType(),v2.GetType()) = {0}",object.ReferenceEquals(v1.GetType(),v2.GetType())); Console.WriteLine("object.ReferenceEquals(v1.GetType(),v3.GetType()) = {0}", object.ReferenceEquals(v1.GetType(), v3.GetType()));