每天都在思考,
如果事情自己会做好就好了,
程序自己会自动检查就好了,
今天C#也有自动检查变数是否符合要求的功能,
我们有请属性!
private int age;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpDemo
{
class Program
{
static void Main(string[] args)
{
Dog dog = new Dog();
//设定为三岁
dog.SetAge(3);
Console.WriteLine(dog.GetAge());
//设定为-1岁
dog.SetAge(-1);
Console.WriteLine(dog.GetAge());
Console.ReadKey();
}
}
//狗的类别
class Dog
{
//名称
public string name;
//年龄
private int age;
//设定年龄
public void SetAge(int ageValue)
{
//如果年龄为负数就改成0
if (ageValue <= 0)
{
age = 0;
}
else
{
age = ageValue;
}
}
//回传设定後的年龄
public int GetAge()
{
return age;
}
}
}
结果:
3
0
※访问器虽然解决了问题,但大家还是习惯把年龄作为变数使用。
属性就是这而生的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpDemo
{
class Program
{
static void Main(string[] args)
{
Duck duck = new Duck();
//设定为三岁
duck.duckAge = 3;
Console.WriteLine(duck.duckAge);
//设定为-1岁
duck.duckAge = -1;
Console.WriteLine(duck.duckAge);
Console.ReadKey();
}
}
/// <summary>
/// Day23-02
/// 鸭的类别
/// </summary>
class Duck
{
//名称
public string name;
//年龄
private int age;
//属性
public int duckAge
{
get//回传值
{
//回传设定後的值
return age;
}
set //设定值
{
if (value <= 0)
{
age = 0;
}
else
{
age = value;
}
}
}
}
}
结果:
3
0
<<: [重构倒数第07天] - 不用靠後端的 client 端上传图片预览图
>>: [Part 3 ] Vue.js 的精随-元件 provide/inject
for回圈(英语:for loop)在计算机科学是一种程序语言的迭代陈述,能够让程序码反覆的执行。 ...
要对个别的元件做更多的指令之前,需要先把他们个别的拆出来,第一个拆解的是列表的部分,先在compon...
前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...
前情提要 艾草:「もうだめだ。我已经没有梗了,不行了...」 「艾草,醒醒!我们不是说好要一起征服这...
这是我们内建的 suspend 函式第三篇,让我们看看有哪些吧: joinAll() 还记得 joi...