//#define 属性 输出6True
#define 属性 //输出7Flase
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test_learn
{
/*属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。
属性(Property)不会确定存储位置。相反,它们具有可读写或计算它们值的 访问器(accessors)。*/
class Program
{
static void Main(string[] args)
{
Demo demo = new Demo();
#if 属性
demo.Number = 5;
demo.Number_f = 2f;
demo.Stop = false;
#else
#endif
Console.WriteLine(demo);
}
public class Demo
{
private int number;
private float number_f;
private bool stop;
#if 属性
//根据字段
public int Number { get => number; set => number = value; }
public float Number_f { get => number_f; set => number_f = value; }
public bool Stop { get => stop; set => stop = value; }
#else
//无参构造函数
public Demo()
{
number = 1;
number_f = 5.0f;
stop = true;
}
#endif
//带有返回值的内置函数
public override string ToString()
{
return (number + number_f).ToString()+ stop;
}
}
}
}