public class test { public static void Main() { Person p = new Person(); int a=0; string n=null; Guid id = Guid.Empty; ConvInt(ref a); ConvStr(ref n); ConvGuid(ref id); Console.WriteLine(a); Console.WriteLine(n); Console.WriteLine(id); Console.Read(); } public static void ConvGuid(ref Guid id) { if (id == Guid.Empty) { id = Guid.NewGuid(); } } public static void ConvInt(ref int age) { if (age == 0) { age = 1; } } public static void ConvStr(ref string name) { if (name == null) name = "name"; } } public class Person { public Guid _id; public Guid id { get; set; } public int Age { get; set; } public string Name { get; set; } }
1.对象的字段
public class test { public static void Main() { Person p = new Person(); ConvInt(ref p._age); ConvStr(ref p._name); ConvGuid(ref p._id); Console.WriteLine(p._age); Console.WriteLine(p._name); Console.WriteLine(p._id); Console.Read(); } public static void ConvGuid(ref Guid id) { if (id == Guid.Empty) { id = Guid.NewGuid(); } } public static void ConvInt(ref int age) { if (age == 0) { age = 1; } } public static void ConvStr(ref string name) { if (name == null) name = "name"; } } public class Person { public Guid _id; public int _age; public string _name; public Guid id { get; set; } public int Age { get; set; } public string Name { get; set; } }
2.对象的属性
public class test { public static void Main() { Person p = new Person(); ConvInt(ref p.Age); ConvStr(ref p.Name); ConvGuid(ref p.id); Console.Read(); } public static void ConvGuid(ref Guid id) { if (id == Guid.Empty) { id = Guid.NewGuid(); } } public static void ConvInt(ref int age) { if (age == 0) { age = 1; } } public static void ConvStr(ref string name) { if (name == null) name = "name"; } } public class Person { public Guid _id; public Guid id { get; set; } public int Age { get; set; } public string Name { get; set; } }
静态属性
public class test { public static void Main() { Person p = new Person(); ConvInt(Person.Age); ConvStr(Person.Name); ConvGuid(Person.id); Console.WriteLine(Person.Age); Console.WriteLine(Person.Name); Console.WriteLine(Person.id); Console.Read(); } public static void ConvGuid(Guid id) { if (id == Guid.Empty) { id = Guid.NewGuid(); } } public static void ConvInt(int age) { if (age == 0) { age = 1; } } public static void ConvStr(string name) { if (name == null) name = "name"; } } public class Person { public static Guid id { get; set; } public static int Age { get; set; } public static string Name { get; set; } }
3.对象
public class test { public static void Main() { Person p = new Person(); ConvPerson(p); Console.WriteLine(p.Age); Console.WriteLine(p.Name); Console.WriteLine(p.id); Console.Read(); } public static void ConvPerson(Person p) { if (p.Age == 0) p.Age = 1; if (p.Name == null) p.Name = "name"; if (p.id == Guid.Empty) p.id = Guid.NewGuid(); } } public class Person { public Guid _id; public int _age; public string _name; public Guid id { get; set; } public int Age { get; set; } public string Name { get; set; } }
在一个对象实例化后,它的所有属性,字段都已经初始化了。
属性是对象的智能字段,尽量使用属性而不是数据成员。
问题:再将对象的属性转换为方法参数类型的时候丢失了什么。
将对象属性作为参数的问题 等待。。。