成员定义2

2 本我 1天前 75次点击

1alt找视图,打开解决方案资源管理器,在创建的文件名右键上下文菜单,找添加,添加一个类,改名为MyClass

写下代码:

public class MyClass

{

//定义字段

public readonly string Name;

private int intVal;

//定义属性

public int Val

{

get

{

return intVal;

}

set

{

if (value >= 0 && value <= 10)

intVal = value;

else

throw (new ArgumentOutOfRangeException("Val",value,"需要分配一个介于0和10之间的值"));

}

}

//定义方法

public override string ToString() => "Name" + Name + "Val" + Val;

//定义构造函数

private MyClass() : this("Default Name") { }

public MyClass(string newName)

{

Name = newName;

intVal = 0;

}

//基于表达式的属性

private int myDoubledInt = 5;

public int myDoubledIntProp => (myDoubledInt*2);

}

}

2alt找视图,打开解决方案资源管理器,回车Program.cs

写下代码

static void Main(string[] args)

{

WriteLine("正在创建对象myObj");

MyClass myObj = new MyClass("MyObject");

WriteLine("已创建对象myObj");

//一个for循环

for (int i = -1; i < 0; i++)

{

try

{

WriteLine($"将{i}分配给myObj");

myObj.Val = i;

WriteLine($"myObj.Val={myObj.Val}");

}

catch (Exception e)

{

WriteLine($"抛出异常{e.GetType().FullName}");

WriteLine($"异常消息{e.Message}");

}

}

WriteLine("输出myObj.ToString()");

WriteLine(myObj.ToString());

WriteLine("myDoubledIntProp=5");

WriteLine($"myDoubledIntProp={myObj.myDoubledIntProp}");

ReadKey();

}

如果看不懂怎么办,最简单的方法是给每个代码块写下注释,比如你看见public关键字已经非常熟悉什么意思了,但是后面的readonly关键字不知道代表什么,就在前面加上readonly的注释。再在各个花括号钱注释花括号里的内容,像this关键字涉及到运行顺序的,就加一条运行先后顺序的注释。通过这种方式,不断重复记忆,readonly就会像public一样熟悉了。


共 1 条评论
childhood 1天前
0 

沙发


本楼来自:论坛助手
添加一条新评论

登录后可以发表评论 去登录