C#基础小例
1.字段成员初始化示例(要求你能把这个值跟踪出来)
class Class1
{
public void Main(String[] args)
{
int a=8;
Console.WriteLine(a);
}
}
2.局部变量的初始化(要求体现出,不初始化直接使用的后果)
答:(1)变量是类或结构中的字段,如果没有显示初始化,在默认状态下创建这些变量时,其值就是0;
(2)方法的局部变量在代码中显示初始化,之后才能在语句中使用它的值。此时,初始不是在声明
中该变量时进行的,但编译器会通过方法检查所有可能的路径,如局部变量中初始化之前就使用
它的值,就会产生错误;
3.变量的作用域(PPT第一讲的第10个splice开始)
答:1.只要字段所属的类中某个作用域内,其字段(也称为成员变量)也在该作用域(在C++
Java和VB中也是这样);
2.局部变量存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内;
3.在for.while或类似语句中声明的局部变量存在于该循环体内(C++程序员注意,这与)
C++的ANSI标准相同。Microsoft C++编译器的早期版本不遵循该标准,但在循环停止
后这种变量仍然存在;)
4.类的静态成员示例
答:public static void Main()
{
int i=20;
Console.WriteLine(j);
}
5.预定义和引用类型(PPT27)
答:预定义:
引用类型:引用类型存储在托管堆上;
如定义一个I类型为int
publci void Main()
{
I J,X;
J=new I();//J的类型为I
X=new I();
X.Value=20;
J.Value=30;
Consle.WriteLine(J.Value);
}
6.String和StringBuilder(ppt28上没多少去google)
7.C#中的switch和其他语言的不同(ppt30)
1)C#中每个switch...case后都要加break贯穿,Case不执行就执行default;
2)
8.C#中的goto(PPT34)
答:goto语句有两个限制。不能跳转到像for循环这样的代码中,也不能跳出类的范围,
不能退出try...catch块后面的finally块;
goto和Swith...case一起相当方便,可在switch语句的case子句之间跳转;
当swith中case后面的条件不符要求但goto可激活case后面的子句;
9.C#中的foreach 语法结构
答:froeach语法结构:
froeach(int temp int arrayOflnts)
{
Console.WriteLine(temp);
}
其中,foreach循环每次迭代数组中的一个元素。它把每个元素的值放在int型的
变量temp中,然后执行一次循环迭代;
不能改变集合中各项(上面的temp)的值,所以下面的代码不会编译:
foreach(int temp int arryOflnts)
{
temp++;
Console.WriteLine(temp);
}
10.C#中的枚举(ppt35)
答:C#中枚举的三大优势:
1.创建枚举可以节省大量的时间,枚举可以可以使代码更易于维护,有助于确保给变量指定合法的,期望的值;
2.枚举使代码更清晰,允许用描述的名称表示整数值,而不是用含义模糊的数来表示。
3.枚举使代码更易于键入。在给枚举类型的实例赋值时,VS.NET IDE会通过IntelliSense弹出一个包含可接受值
的列表框,减少了按键次数,并能够让我们回忆起可选的值。
如下例:
class TimeOfDay
{
public enum TimeOfDay
{
Morning = 0,
Afternoon = 1,
Evening = 2
}
public static int Main()
{
Console.WriteLine(TimeOfDay.Morning);
return 0;
}
static void WriteGreen(TimeOfDay timeOfDay)
{
switch (timeOfDay)
{
case TimeOfDay.Morning:
Console.WriteLine("Good Morning!!");
break;
case TimeOfDay.Afternoon:
Console.WriteLine("Good Afternoon!!");
break;
case TimeOfDay.Evening:
Console.WriteLine("Good Evening!!");
break;
}
}
}
浙公网安备 33010602011771号