C# 学习笔记2
Private 访问修饰符允许一个类将其成员变量和成员函数对其他的函数和对象进行隐藏。只有同一个类中的函数可以访问它的私有成员。即使是类的实例也不能访问它的私有成员。
这是这次学习我觉得很细,也是很重要的点,保护级别。上次我发现,我实例化的类,竟然没法调用类中的属性,难道只能通过同类中的方法来间接调用吗,这也太麻烦了,我网上查了一下发现,原来c#中,默认的级别是private,最高保护级别,详细如上。
public:所有对象都可以访问;
private:对象本身在对象内部可以访问;
protected:只有该类对象及其子类对象可以访问
internal:同一个程序集的对象可以访问;
protected internal:访问限于当前程序集或派生自包含类的类型。
一些循环、判断什么的和C基本一样,我就不记了
下面是函数或者叫方法的基本结构
class NumberManipulator
{
public int FindMax(int num1, int num2)
{
/* 局部变量声明 */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
…
}
上面,public int FindMax(int num1,int num2)
public表示所有人都可以访问这个方法,
int表示这个方法会return一个int类型的数据,
FindMax就是这个函数的名字了,这里自己随便起,一般按照驼峰法则,
后面括号里面的int还是表示传递的数据类型,只不过这里是从外向内传递,即向函数内部传递的数据,
num1和num2分别为,所传递数据在此函数内部的名称,注意,传递的数据只在函数内部生效。
这里的方法,类,属性都遵循同一保护规则,且默认private
可空类型nullable
表现形式,形如:int? a;这里多一个问号,代表是可空类型,即默认为null或者可赋值为null。
double、float等也类似,注意,没有这个问号的时候,默认值为0,而不是null。
还有形如“??”
?? 双问号用于判断一个变量在为 null 的时候返回一个指定的值。
using System;
namespace CalculatorApplication
{
class NullablesAtShow
{
static void Main(string[] args)
{
int? num1 = null;
int? num2 = 45;
double? num3 = new double?();
double? num4 = 3.14157;
bool? boolval = new bool?();
// 显示值
Console.WriteLine(“显示可空类型的值: {0}, {1}, {2}, {3}”,
num1, num2, num3, num4);
Console.WriteLine(“一个可空的布尔值: {0}”, boolval);
Console.ReadLine();
}
}
}
这里的输出为
显示可空类型的值: , 45, , 3.14157
一个可空的布尔值: